AtCoder 杂题选做
(这学期估计都打不了实时的 \(\text{ARC}\) 了,悲......
【ABC273D】LRUD Instructions
一道没什么技术含量的纯 \(\text{STL}\) 题,使用 \(\text{map}\) 套 \(\text{vector}\),只能说放在这里警钟长鸣了。赛时只用了 \(\text{vector}\) 加 lower_bound(),结果 \(\text{TLE}\)。Editorial by en_translator.
【ARC151B】A < AP
(听 TC 说初一没做出来,就来试试)
题解说这是一道结论题。我自己的做法是,从 \(1\) 到 \(n\) 遍历每个位置 \(i\),每次有:\(a_j=a_{p_j}\ (j\in [1,i)),\ a_i<a_{p_i}\),而对于 \(j\in(i,n]\),\(a_j\) 没限制。这个根据题目要求“字典序最小”的性质可以推得。我们使用并查集去维护这些数之间的等量关系,统计答案时,除了 \(p_i\) 和 \(i\) 以外,其他的互不相干的每堆数都有 \(M\) 种取值,对于 \(a_i\) 和 \(a_{p_i}\) 的取值,易知是 \(C_M^2\)。这样统计为什么不会重复呢?因为当且仅当在第 \(i\) 次统计时,满足\(a_j=a_{p_j}\ (j\in [1,i)),\ a_i<a_{p_i}\),故不重不漏。Submission #35753426.

浙公网安备 33010602011771号