2024年8月杂题
[ARC068F] Solitaire
难。题目的条件告诉我们最后队列里呈现“V”字形。如何计算删数的方案??找到合法方案的约束条件,用 DP 去计数,构造过程,都很难。
P2839 [国家集训队] middle
中位数的常见处理方法:二分答案,把小于它的设为 \(-1\),大于等于的设为 \(1\),看和是否大于等于 \(0\)。
[AGC036C] GP 2
这种操作问题,通常要转化操作,寻找操作的等价条件。题目中的操作很玄乎,我们分析这种操作的结果是什么。对于最后的序列 \(a\),它需要满足以下三个条件:
-
\(\sum a_i=3m\)
-
\(\max a_i\leq 2m\)
-
\(\sum (a_i\bmod 2)\leq m\)
先不考虑条件 2,我们可以枚举奇数个数,设其为 \(k\),然后将所有奇数全部减 \(1\),则总和变为 \(3m-k\),设其为 \(2p\)(若不是偶数则答案为 \(0\))。问题就变成了 \(n\) 个非负整数和为 \(p\),所以答案为 \(\sum\limits_{i=1}^n[(3m-i)\bmod 2=0]\dbinom{n}{i}\times \dbinom{p+n-1}{n-1}\)。
然后再减去多余的部分,发现最多只有一个位置不满足条件 2,设其为 \(a_x\),然后我们将其减去 \(2m+1\),则问题变成了 \(n\) 个非负整数和为 \(m-1\) 的方案,此时条件 3 无需考虑,这部分为 \(n\times \dbinom{m-1+n-1}{n-1}\)。
时间复杂度 \(\mathcal{O}(n)\)。
[AGC006D] Median Pyramid Hard
很神奇的题目。
中位数同样考虑二分答案,将小于 \(k\) 的设为 \(-1\),大于等于的设为 \(1\)。然后好像没啥用了……
手玩过程,发现相邻两个一样的可以一直往上走,其实就是 \(1\) 和 \(-1\) 比赛看谁登顶,显然离中间近的那一对最先登顶。特判没有相邻的情况。