CF1537简要题解
\(\text{Problem A}:\)Arithmetic Array
\(\text{Solution}:\)
即让 \(\sum b_{i}=n\)。故当初始的 \(\sum b_{i}<n\) 时,答案为 \(1\);否则为 \(\sum b_{i}-n\)。
\(\text{Code}:\)Link
\(\text{Problem B}:\)Bad Boy
\(\text{Solution}:\)
显然把两个物体放到主对角线或副对角线的两端是最优的。可以发现这两种情况等价,随便输出一种即可。
\(\text{Code}:\)Link
\(\text{Problem C}:\)Challenging Cliffs
\(\text{Solution}:\)
对 \(h_{i}\) 排序后就可以找到最小的绝对值之差。然后找到这个位置 \(i\),可以把序列分为两个连续上升段。这样至少有 \(n-2\) 个位置满足 \(h_{i}\leq h_{i+1}\),是最优的。
\(\text{Code}:\)Link
\(\text{Problem D}:\)Deleting Divisors
\(\text{Solution}:\)
显然最终状态是 \(x\) 为质数或 \(x=1\)。下面对 \(x\) 进行分类讨论:
-
当 \(x\) 为奇数且不为质数时,能且仅能在一步内能变为偶数。故只需考虑偶数的情况。
-
当 \(x\) 为偶数且不能被表示为 \(2\) 的整数次幂时,必定存在一个奇质数因子,故先手可以将 \(x\) 变为奇数。又因为 \(x\) 从奇数变为偶数一定不能被表示为 \(2\) 的整数次幂(因为 \(k\mid x,k\mid x-k\)),故最后一定会进入 \(x\) 是奇质数或 \(1\) 的状态。这证明了这种情况下先手必胜。那么 \(x\) 是奇数时先手必败。
-
当 \(x\) 为偶数且是 \(2\) 的整数次幂时,先手若不将其变为 \(\frac{x}{2}\) 则进入第二种状态,故先手只会做 \(x\rightarrow \frac{x}{2}\) 的操作。那么对于 \(x=2^{k}\),判断 \(k\) 的奇偶性即可。
\(\text{Code}:\)Link
\(\text{Problem E}:\)Erase and Extend
\(\text{Solution}:\)
不难发现最优答案一定是选择一段前缀,然后连续复制。
Easy Version 只需暴力对每个前缀 Check 即可通过。
考虑当前最优前缀的长度为 \(l\),只需比较 \(s_{i}\) 与 \(s_{i\%l}\) 的大小关系即可。这相当于在更新最后序列的第 \(i\) 个位置的字符。这样可以通过 Hard Version。
\(\text{Code}:\)Link
\(\text{Problem F}:\)Figure Fixing
\(\text{Solution}:\)
首先若 \(\sum v_{i}\) 与 \(\sum t_{i}\) 奇偶性不同显然无解。
若图无环,那么从度为 \(1\) 的点开始处理的操作是唯一的。
若图有奇环,那么可以给环上一点加 \(2\),同时其他点权值不变。所以当图有奇环时,一定有解。
而剩下的情况(包括无环图)一定是二分图。一次修改左部点和右部点的权值之差不变,利用这个性质 Check 即可。
\(\text{Code}:\)Link