CF1404

CF1404A Balanced Bitstring

考虑到若子串 \(s[i...i+k-1]\) 是合法的,当 \(s[i]=s[i+k]\) 时子串 \(s[i+1...i+k]\) 才也是合法的。因此,若字符串 \(s\) 是平衡的,那么其子串 \(s[1...k]\) 一定是合法的,且 \(\forall j\equiv x(mod\ k),x\in[1,k]\)\(s[j]\) 相同。直接扫一遍 \(j\) 并且给 \(i\in[1,k]\) 染色,最后判断 \(s[1...k]\) 是否可能合法即可

CF1404B Tree Tag

神秘 博弈论

先把 \(Bob\) 无处可躲的情况判了,即初始时 \(dis(a,b)\leqslant da\),此时 Alice 获胜

考虑两个人在树上追逐。当 \(Bob\) 走进死路、必须向 \(Alice\) 方向移动时,若他的路径能被 \(Alice\) 覆盖到,即 \(da\times 2\geqslant db\) 时他必输。此时 Alice 获胜

\(db>da\times 2\) 时,若树上存在一条链使得 \(Alice\) 总是有无法一次到达的端点,那么 \(Bob\) 就可以在树上戏耍 \(Alice\)。容易发现,当直径长度小于等于 \(da\times 2+1\) 时,\(Alice\) 在直径中点走到树的任意一个节点上,此时 Alice 获胜。

其他情况下,Bob 获胜

CF1404C Fixed Point Removal

妙妙。

考虑每个元素当前位置 \(i\) 与目标位置 \(a_i\) 的差值 \(i-a_i\),当这个差值为 \(0\) 时可删除该元素。我们令 \(b_i=i-a_i\),显然每删除元素 \(i\),其后缀 \(b_j,j\in[i+1,n]\) 都会减一;换个角度,当 \(j\) 之前删除元素的个数 \(cnt\) 大于等于 \(b_i\) 时,\(j\) 可以被删除。

删除后面的数不会影响删除前面的数的过程,所以 \(cnt>b_i\) 时可以先删掉前面 \(b_i\) 个数,在删除 \(b_i\) 后再删除前面的 \(cnt-b_i\) 个数

若只有一次询问,我们大可直接扫一遍。但这题还会对一些前后缀进行限制。其实我们可以发现,查询的形式相当于在 \(x+1\) 处插入一个初值为 \(0\)\(cnt'\),在 \(y\) 处查询 \(cnt'\) 的值,过程中仍是 \(a_i\)\(cnt\) 比较并更新 \(cnt\),总体过程并没什么大的改变。问题在于扫到 \(a_i\) 时要维护多个询问的 \(cnt\)。注意到在 \(a_i\) 被更新的值都是大于等于 \(a_i\) 的值 废话,这启示我们可以在值域上维护 \(cnt\) 的数量。

这看着怎么这么像平衡树有交合并?难道我们要用平衡树有交合并写这道蓝题?不!

考虑将所有询问按照插入时间 \(x\) 排序,显然,在每个时间点,插入越早的询问 \(cnt\) 越大,所以此时查询也是具有单调性的。那么我们大可直接二分找到所有值都大于等于 \(a_i\) 的前缀,直接给前缀加一,然后就没然后了。线段树足矣,复杂度 \(O(n\log n)\)

CF1404D Game of Pairs

这是一个交互题。

既然和倍数有关,那么先往余数上去思考。我们将所有的 \((i,n+i),i\in [1,n]\) 配对,此时每一组的任意选择在模 \(n\) 的意义下都是相同的。这样选完后的之和即为 \(kn+\sum_{i=1}^n i=n(k+\frac{n+1}{2})\)。当 \(n\) 为偶数时,\(\frac{n+1}{2}\) 甚至都不是整数,所以和肯定不是 \(n\) 的倍数,更不是 \(2n\) 的倍数了。

\(n\) 为偶数,那么先手必胜;\(n\) 为奇数时就不一定了。

仍是考虑和模 \(n\) 下的值。若存在一种方案,使得对于 \(i\in[0,n)\) 都有选择的数满足其模 \(n\)\(i\),那么其和仍是 \(n(k+\frac{n+1}{2})\) 的形式。若 \(k+\frac{n+1}{2}\) 是偶数,那么它就是合法的。若它不合法,考虑换成剩下的数,换成剩下的数后系数就变成了 \(2n-1-k-\frac{n+1}{2}\),奇偶性会发生变化。

那么怎么找到这样的数对呢?考虑将所有数对连边,所有 \(i,i+n\) 连边,之后就会形成若干个环,每个环都隔一个选一个一定能选出上述的点。然后就没了

CF1404E Bricks

覆盖吗?最小化吗?二选一限制吗?\(n\leqslant 200\) 吗?网络流!!

考虑刚开始都用 \(1\times 1\) 的小方格覆盖后最大化合并方格的次数。我们将可合并的方格之间连边,题目中的限制即为:若一方块选择了竖直方向的边,那么它不能选择水平方向的边。将合并的“边” 看作“点”,那么现在问题就变成了最大独立集问题,建立二分图后跑匹配即可。

posted @ 2025-09-18 19:35  沄沄沄  阅读(6)  评论(0)    收藏  举报