AGC 计数专题
1. AT_agc002_f [AGC002F] Leftmost Ball
序列问题,无大小关系,因此从左往右考虑。
由于同色球没有本质区别,所以每次可以往序列里加一个无色球或者直接把一种颜色的所有球丢到后面去。
为了不重复,钦定选定颜色的球的第二个(除去无色球的第一个)一定要放在当前序列的第一个空位。
即设
时空复杂度
2. AT_agc012_d [AGC012D] Colorful Balls
有关两个球的,考虑寻找三个的性质,可以发现如果
接着考虑异色球,一开始我只考虑每种颜色
那么同同色考虑找一个“中转站”,显然可以找全局
至此可以简单在对数时空内维护出所有连通块的信息,使用多重集排列即可。
3. AT_agc013_d [AGC013D] Piling Up
设
但是由于不同的初始
4. AT_agc022_e [AGC022E] Median Replace
对于连续段消除问题,考虑从左往右栈操作。
由于最后要保留
- 若入栈的是
。 - 如果目前栈顶有两个
,则可以三合一变为一个 。 - 如果目前栈顶只有一个
,入栈等待下一个进来的再消,显然不会劣于带着栈内的 一起删掉的情况。 - 如果目前栈顶没有
,也是等待不劣于带着栈顶的 消去,因此直接入栈,变为栈顶为 的情况。
- 如果目前栈顶有两个
- 若入栈的是
。 - 如果栈顶是
,则这两个数直接消去,因为中位数只和接下来入栈的数有关。 - 如果栈顶是
,则保留。
- 如果栈顶是
经过分析,可以发现栈内只会是栈底一段连续的
5. AT_agc023_e [AGC023E] Inversions
前置知识:有上限排列计数。
设共有
若
若
已知
后面的和号相当于
6. AT_agc055_d [AGC055D] ABC Ultimatum
难以处理的 DP,考虑寻找其充要条件,充要条件可以从必要性入手,即考虑什么样的方案不合法。
从左往右考虑这个序列,可以发现在 CAB 和 BCA 中,C 总是在 A 前面,因此对于任意一个前缀,A 的数量
通过题解区可以证明这个结论还具有充分性,所以可以开始 DP 设