得找个时间把 zr 题补补。。

A

考虑 \(f_{i}\) 只能拆为 \(f_{i-1}+f_{i-2}\),考虑拆 \(f_{i-1}=f_{i-2}+f_{i-3}\) 时,这条 \(f_{i-2} - f_{i-3}\) 的边在另一种方案时还是会被切掉,因此能切就切。

每次直接暴力遍历树找切边,由斐波那契数列的增长即可只复杂度为 \(O(n\log n)\)。

B

发现 \(n\) 很小直接 \(2^n\) 枚举绝对值负号 \(t_i\),那么有

\[\sum_{i=1}^{n} t_i(x_i-r_i)=(\sum t_ix_i)-(\sum t_ir_i)
\]
\[=(\sum t_ix_i)-(\sum t_{i} \sum s_{i, j} p_j)=(\sum t_ix_i)-(\sum p_{j} \sum s_{i, j} t_i)
\]

由于我们计算的是最大值,所以不合法的一定不优,根据排序不等式直接做就好了。

C

考虑每一行最前面一个,如果蓝色没有把某一个小的选上,那么第一列就一定会存在 红 < 蓝 不合法,因此按行首元素排序,一定是前 \(x\) 个蓝色后面全红。

枚举 \((x, k)\),判定条件变为左上角矩形最大值 < 左下矩形最小值 且 右上矩形最小值 > 右下矩形最大值,\(O(nm)\) 预处理即可。

D

在生成树的限制严格强于图,考虑如果一个端点没有被选择偶数次,那么其出边至少有一条被经过奇数次,此时答案为奇数次端点个数的一半(两两配对),否则直接走简单路径即可。

E

枚举 kruskal 排序分界点,每次暴力做一遍,询问二分计算多余贡献即可。

F

二分答案,check 时尽可能让当前数变小。

G

H/I

设 \(dp_i\) 为以 \(i\) 结尾的好序列个数

则 \(f_{i}=\min(f_{i-1}+1, a_i)\),所求为 \(\sum dp_i\)

不难发现,最后 \(f\) 可以表示为:

\(a_{x_1}, a_{x_1}+1, a_{x_1}+2 \dots a_{x_2}, a_{x_2}+1, a_{x_2}+2 \dots a_{x_i}, a_{x_i}+1, a_{x_i}+2 \dots\)

考虑修改,若 \(f_{i-1}+1\le a'_i\) ,则 \(f_{i}\),否则后面某段 \([i, x) (a_{x}<a'_i+x-i)\) 的 \(f_j\) 会变为 \(a'_i+j-i\),\(x\) 可以用线段树二分出来。

但是 \([x, n]\) 的贡献没有计算到,但是注意到 \(f_{x}\) 必然为 \(a_x\) (修改并不是真实修改)

我们考虑设 \(g_x\) 为当强制钦定 \(f_{x}=a_{x}\) 时,\(\sum_{i=x}^{n} f_i\) 的值,同理,\(g_{i}=g_j +\sum_{k=i}^{j-1} a_{j}+k-i\),其中 \(a_{j} < a_{i}+j-i\),仍然用上面的线段树二分即可。

J

状压,设 \(dp_{x, S}\) 为选择状态为 \(S\) 的最长合法前缀,预处理每个串不合法的位置计算贡献。

K

设 \(f_{i, j}\) 为还剩 \(i\) 个人,最大血量为 \(j\) 且最后全员白给无人胜利的方案数。

2023 syzx 春季训练 1的更多相关文章

  1. 18春季训练01-3/11 2015 ACM Amman Collegiate Programming Contest

    Solved A Gym 100712A Who Is The Winner Solved B Gym 100712B Rock-Paper-Scissors Solved C Gym 100712C ...

  2. 2019春季训练02: JU Flash Contest Gym - 102035 训练报告与复盘

    这场题极其简单 Solved 19 / 19 A Gym 102035A N integers 略 Solved 10 / 33 B Gym 102035B Mahmoud the Thief 用ma ...

  3. [xsy1100]东舰停战不可避

    没有三点共线 这题的思想来源于JOI2011-2012春季训练合宿Day2T2,原题是个大毒瘤题(p.s.场上有人A,真的可怕),这题作为原题要用到的的一个结论而存在 点有两种颜色,先考虑对所有点做凸 ...

  4. 2023 年 CCF 春季测试赛模拟赛 - 2 题解

    T1 约数和 标准解法 \(n = a_1^{b_1} \times a_2^{b_2} \dots a_k^{b_k}\) 那么根据算术基本定理的推广,约数个数和约数和都是可以快速计算得到 约数和 ...

  5. 2023 年 CCF 春季测试赛模拟赛 - 2

    T1 分治,\(a^b + \dots + 1 = (a^{\lfloor\frac{b}{2}\rfloor} + \dots + 1) \times (a^{\lfloor\frac{b}{2}\ ...

  6. 2023 年 CCF 春季测试赛模拟赛 - 1

    T1 个人思路: 询问:求 \(1\) 到 \(t_i\) 路径上离 \(1\) 最远的 \(p\),使得 \(dis_{1,p} \times 2 \le d_i\).即 \(dis_{1,t} \ ...

  7. (数据科学学习手札44)在Keras中训练多层感知机

    一.简介 Keras是有着自主的一套前端控制语法,后端基于tensorflow和theano的深度学习框架,因为其搭建神经网络简单快捷明了的语法风格,可以帮助使用者更快捷的搭建自己的神经网络,堪称深度 ...

  8. 2023计算机领域顶会(A类)以及ACL 2023自然语言处理(NLP)研究子方向领域汇总

    2023年的计算语言学协会年会(ACL 2023)共包含26个领域,代表着当前前计算语言学和自然语言处理研究的不同方面.每个领域都有一组相关联的关键字来描述其潜在的子领域, 这些子领域并非排他性的,它 ...

  9. 躬身入局,干货分享,2023年春招后端技术岗(Python)面试实战教程,Offer今始为君发

    早春二月,研发倍忙,杂花生树,群鸥竟飞.为什么?因为春季招聘,无论是应届生,还是职场老鸟,都在摩拳擦掌,秣马厉兵,准备在面试场上一较身手,既分高下,也决Offer,本次我们打响春招第一炮,躬身入局,让 ...

  10. CANN训练:模型推理时数据预处理方法及归一化参数计算

    摘要:在做基于Ascend CL模型推理时,通常使用的有OpenCV.AIPP.DVPP这三种方式,或者是它们的混合方式,本文比较了这三种方式的特点,并以Resnet50的pytorch模型为例,结合 ...

随机推荐

  1. 【Linux】5.2 Shell变量

    Shell变量 1. shell变量简介 Linux Shell的变量分为,系统变量和用户自定义变量 系统变量: $HOME. $PWD. $SHELL. $USER等等 显示当前shell中所有变量 ...

  2. Visual Studio Browser Link

    用Visual Studio 2013 | 2015(不知道其他版本会不会)创建的项目(WebForm & MVC), 直接运行访问的页面源码会出现如下内容: 而这个莫名其妙多出来的Visua ...

  3. Javascript try catch finally

    很少用到javascript的异常捕获,突然需要,发现挺全的,小小记录下,留爪. 直接打码: //public.js //异常输出 function exception(ex) { console.l ...

  4. Docker 实用镜像

    实用镜像 nginx-proxy nginx-proxy sets up a container running nginx and docker-gen. ...

  5. 在 VS Code 中,一键安装 MCP Server!

    大家好!我是韩老师. 本文是 MCP 系列文章的第三篇.之前的两篇文章是: Code Runner MCP Server,来了! 从零开始开发一个 MCP Server! 经过之前两篇文章的介绍,相信 ...

  6. SpringBoot启动方法分析

    SpringBoot启动run方法分析 1.场景引入 在项目启动的时候,有时候我们需要在启动的时候,执行一些逻辑. 比如说,项目启动的时候,我想把一些热门商品的数据加载到缓存中去: 比如说,自定义了一 ...

  7. 《数组》--DAY2--快慢指针法

    1.什么是双指针? 双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的. 2.快慢指针 2.1 ...

  8. public void add(int index, E element)的方法源码分析

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  9. 看了他,妈妈再也不用担心我被问到Mybatis缓存了

    Mybatis缓存 一.一级缓存 1. 概念 sqlsession级别的缓存,即缓存的是SQL语句 同一个sqlsession中执行多次查询条件相同的SQL,mybatis会提供一级缓存进行优化 2. ...

  10. python同时给多个邮箱地址发送邮件

    这个帖子内讲了怎么发邮件:https://www.cnblogs.com/becks/p/14589314.html 下图红框内于发送目标邮件地址有关 讲红框内信息修改为下方代码,即可实现向多人发送邮 ...