模拟赛
3.14
CF1303D Fill The Bag
按⼆进制位从⼩到⼤贪⼼
CF1299C Water Balance
可以发现每一段的平均数是递增的,考虑用 单调栈 维护
首先,我们把序列中的每个数都看成一个长度为
CF1304F2 Animal Observation (hard version)
不难写出一个
CF1305G Kuroni and Antihype
建⼀个权值为
如果把所有按位与为
从⼤到⼩枚举边权和
3.16
P6148 USACO20FEB Swapity Swapity Swap S
预处理出
CF508E Arthur and Brackets
按题意模拟(贪心)
CF1284E New Year and Castle Construction
枚举
题解
CF1303F Number of Components
我们发现新产生的连通块用并查集就可以求了,但是因为每次操作会把原先的连通块分裂,这部分很难算,因为并查集不能分裂,只能合并。
其实我们 倒着做撤销修改操作,原本的分裂就变成合并了,就可以用合并的方式求分裂的数量了
3.20
CF1566E Buds Re-hanging
进行一次将一个 bud 截下来再挂到一个叶子节点的操作后,总叶子节点数不变或
设最后有
CF1566F Points Movement
首先去掉多余的部分:区间中已经存在一个点的区间,包含某一个区间的区间。剩下的部分就是一段点,一段区间,并且这些区间的左右端点一定都是单调递增的
我们再来思考一下一个点的行动轨迹是什么样的,不难发现无非以下两种:先向左走一段然后掉头走到它原来的位置的左侧,或者先向右走一段然后掉头。我们考虑以此为状态设计 dp
设
3.21
CF1286B Numbers on Tree
随便构造
CF1303E Erase Subsequences
枚举
CF1305F Kuroni and the Punishment
首先可以发现操作次数最多是
所以我们在序列中随机找一个数
CF1307F Cow and Vacation
如果两个休息站距离
我们把所有休息站放进队列, 扩展
对于每个询问,先判断两个点距离是否
3.22
CF1606D Red-Blue Matrix
先给每一行按照第一个数从小到大 排序,枚举行列的切割点,先预处理出四个方格的最值,即可
CF1606E Arena
设
若
若
CF1606F Tree Queries
首先注意到答案一定非负,那么对于一个
若
若
3.23
1-Trees and Queries
分类讨论
CF1296E2 String Coloring (hard version)
要通过相邻数交换使得序列有序,每一组 逆序对 必须要交换一次,考虑 最长下降子序列
CF1307E Cow and Treats
题解
3.24
CF1594E2 Rubik's Cube Coloring (hard version)
树形 dp,只考虑指定颜色后会被影响的点即可(可以理解为建虚树)
3.27
P7150 USACO20DECStuck in a Rut S
P7888 Distinct Subsequences
P7889 Eert Tuc Knil
3.28
P8568 JRKSJ R6 func
P8576 DTOI-2 星之界
P7920 Kubic Permutation
3.29
P7894 JROI-3 1÷0
P7877 SWTR-07 Spider Solitaire
P7470 NOI Online 2021 提高组 岛屿探险
第二个特殊性质可以考虑将询问变成修改,将修改变成询问