做题记录(Nov.)
11.3
CF1782
ABC
略。
D
可以直接枚举两个 \(a\),然后通过枚举差值的因数枚举 \(x\)。
E
史。
F
神秘 DP,观察到操作的实质是把前缀和序列中的一个 \(x\) 变成 \(x,x\pm 1,x\),询问最后前缀和序列没有负值的概率。
根据每个位置的独立性,令 \(f_{n,i}\) 表示当前考虑前缀和序列中的一个 \(i\),要在从它开始生成的序列中做 \(n\) 次操作。
然后枚举分到三部分的操作次数,这样是 \(n^4\) 的。
可以通过暴力卷积优化一个 \(n\)。
11.4
P17833*
可恶的 migrate,在 CSP 阻击我。
有一种做法是观察到满足条件的点对间的两条路径实为从左往右和从右往左每次跳到能跳的最远的点形成的路径,且两条路径间只有一个地方错开一个位置。
为什么跳最远?因为不是最远就可以通过跳最远找到另一条不一样的路径。为什么只错开一个位置?因为错开两个位置中间那个点也可以作为中间停的岛屿。
然后就可以 DP 求一个点左右的每次跳最远的点能跳到多少个点,然后枚举中间错开的两个点,求答案即可。
CF2276F*
好题博弈,可以看看题解。
11.5
P4462
莫队板子。但是我用的分块。(?
11.6
打 CCPC 模拟赛备战。
11.7~11.8
CCPC 乐山站打星,小朋友带不动。/ll
11.9
P5490
扫描线板子。(?
11.10
CF1552
A
略。
B
这是黄题。你说的对,但是我有三种做法。
- 这是正解。判断一个人全胜很难,但是每个人输一把就不会是答案,所以反过来入手。每一次比较都会有一个人输,也就是可以排除一个人,所以从 \(1\) 到 \(n\) 打擂台打过去,只有留下的人可能是答案,最后留下的人再和所有人比一次即可。
- 可以分治,左右区间求出胜者,左区间胜者和右区间的所有人比一次,右区间的胜者和左区间的所有人比一次,全胜则上传。
- 记录当前有哪些人没输过,从里面随机选一个和所有人比一下,原本就没输过的人中胜者可以继续,败者踢出去。如果没人赢过他,那他就是答案。
C
猜猜猜,把剩下的点重标号然后 \(1\leftrightarrow n-k+1,2\leftrightarrow n-k+2\dots\),以此类推。这样就是最优的。
D
容易发现 \(n+1\) 个数可以保证构造出解,要省一个数就需要能用其他的 \(a_i\) 加加减减凑出另外一个 \(a_x\)。可以 \(2^{2n}\) 暴力。
E
根据要求中的覆盖次数,可以想到把颜色分为 \(\genfrac{\lceil}{\rceil}{}{0}{n}{k-1}\) 份,每份内部完全不重叠。
既然是这么多份,那每份就 \(k-1\) 个颜色,而且每种颜色其实恰好 \(k-1\) 个。每组分别做,考虑贪心,每次取一个右端点最靠左的颜色区间,可以发现这样做剩下的颜色只会每次少一个点,所以最后一定能选完。那么就做完了。
F
个人感觉比前面的好想。手玩以及观察发现蚂蚁左边的传送点肯定都是激活了的。那么就可以处理假设所有传送门开着时,从起点走到一个地方要花多久,遇到传送门直接算就可以了。
P9510
精美绝伦。
AT_abc360_f
类比赛状物,注意一下区间位置的细节。
P17831
补一下 CSP T1T2 的做题记录。略。
P17832
容易发现线路较少且每条线路可以看作一个点。以线路作为点,根据每个站暴力在线路间建边,然后 floyd 即可。

浙公网安备 33010602011771号