被打爆的蒟蒻回来补题了。
CSPS2021
T1 廊桥分配 [2]
个人认为此题在考场上做还是有一定难度的。
打表&归纳可证一架飞机如果进入了廊桥以后,廊桥数目增多后他也不会从廊桥中出来。于是直接枚举廊桥数然后求值即可。
T2 括号序列 [1]
这题对于做得多的人来说真没啥难度了。具体见洛谷题解
T3 回文 [4]
这题也没有大家口中那么简单吧。考虑枚举第一个是左边还是右边,那么就直接可以确定后面的操作顺序,一定是从一个位置向两遍扩展,于是直接贪心扩展即可。
T4 交通规划[?]
不会
NOIp2021
T1 报数[1]
直接暴力,复杂度小常数 \(O(n\ln n)\)。
T2 数列[3]
从小到大考虑每个数,然后一个数最多对 \(S\) 贡献 \(5\) 位,直接对这 \(5\) 位状压,剩下的部分做一个背包。code
T3 方差[6]
神秘结论+傻逼 dp。真就知道结论随便做呗。先做一个差分,然后发现操作实际上是在交换差分数组,于是操作就变成了交换两个差分数组的值。然后打表发现差分数组单谷的时候方差最小。这个感性理解一下此时数会尽量向中间靠拢。接下来化一下答案的式子发现是 \(n\sum a_i^2-(\sum a_i)^2\)。将差分数组排序,相当于每次往两边插入。容易发现我们只用多记一维状态代表 \(\sum a_i\) 就可以 dp 出 \(\min \sum a_i^2\)。于是就做完了。复杂度 \(O(n^2a)\)。然后把差分值为 \(0\) 的去掉,复杂度变为 \(O(na^2)\)。code
T4 棋局[?]
没啥思维难度,所以等我写完再来评价吧。