A. Wonderful Permutation
显然即统计 \(a_i>k~(i \leq k)\) 的个数。
B. Woeful Permutation
打表发现使数字交错出现即可。
C. Sort Zero
首先我们维护一个共有多少个不同的数字的前缀和,然后维护出每个数字最后出现的位置。
从后往前扫,当遇到第一个破坏顺序的元素时,这个数字以及其前方所有数字必然要更改为 0,于是找到它及其前方所有数字最后出现的位置,此处的前缀和即为答案。
D. Empty Graph
考虑二分答案 \(m\)。
每个数 \(x\) 对于最大直径的最大贡献为 \(2x\),故若 \(2x<m\) 则必然要把 \(x\) 改为最大值 \({10}^9\),并且次数加 \(1\)。
另外若没有两个相邻的数字 \(x,y\) 满足 \(x \geq m \land y \geq m\) 则次数要加 \(2\)(要把两个相同的数字改为 \(\geq m\));若只有一个满足则次数要加 \(1\)。
判断所需次数是否 \(\leq k\) 即可。