VP Educational Codeforces Round 20
A
无解当且仅当放不下,按顺序贪心即可。
B
两个顺序扫一遍维护最近的 0 即可。
C
枚举 \(g\) 为 gcd,除以 \(g\) 后变为判断是否可行,显然是 \(\frac{k(k+1)}{2}\le\frac{n}{g}\),构造直接把多的放最后就行。
D
读入需要手写一个类似快读的东西,找出所有段后二分贪心即可。
E
设 \(f_{i,j}\) 为前 \(i\) 个字符合法情况下能否分数为 \(j\),暴力求出,容易构造。
F
设 \(i\) 的倍数个数为 \(c_i\),对 \(2^{c_i}-1\) 做 gcd 容斥即可。
G
先对 \(1,k\) 构建一个线段树,对于精确到某一个序列内的操作用动态开点实现,为了动态开点还要求出原序列 ST 表。
实际上直接动态开点就行,任意区间初始最小值容易用 ST 表求出。

浙公网安备 33010602011771号