摘要:
[NOIP2021] 棋局 题解 知识点 并查集,启发式合并,线段树合并。 分析 这可以算码农题了,码量大,不过还算好调。(不过在考场上没把握是肯定不敢写正解的。) 首先有一个十分明显的并查集套路:操作离线再倒过来,把分裂变成合并。然后我们只要在合并时顺便查询即可。 思考计数方式显然是这题最重要的部 阅读全文
摘要:
[NOIP2021] 方差 题解 知识点 差分,最小值背包 DP,模拟退火。 分析 首先,定义 \(\{ a_i \}\) 的差分数组 \(\{ d_i \}\),其中 \(d_i = a_{i+1} - a_i,i\in [1,n)\)。 那么 \(a_i \gets a_{i-1} + a_{i 阅读全文
摘要:
[NOIP2021] 数列 题解 知识点 状压组合计数 DP。 分析 DP 套路 把无序的变成有序的: 我们按照下标遍历 \(\{v_i\}\),一个个插入到最终的答案序列,并用组合数转化,那么这样无序的就变成了有序的。 观察数据范围上限: 发现按照顺序遍历后,进位始终比 \(32\) 小,那么就可 阅读全文
摘要:
[NOIP2021] 报数 题解 知识点 埃氏筛,离线。 分析 首先暴力很简单,直接枚举强行判断即可。 接下来考虑优化,发现 \(1 \le x \le 10^7\),那么完全是可以预处理出来的。 模仿埃氏筛,会得到一个常数极小的筛法,时间复杂度大概 \(O(X\log_{2}{\log_{2}{X 阅读全文
摘要:
[NOIP2020] 微信步数 题解 知识点 模拟,(连续横坐标下的)Lagrange 插值。 分析 我们肯定是要把所有的起点放到一起算,然后就形成了一个 \(k\) 维长方体,容易发现各个维度毫无关联,可以分开计算。 无解 要是第一轮存在没有出界的点,并且一轮后仍在原地,那么它就会无解。 代码 b 阅读全文
摘要:
[NOIP2020] 移球游戏 题解 知识点 分治,构造。 分析 \(10\%\) 我们把操作、思路化到最简:为每一个栈钦定一个颜色,如果里面有不一样的,就把它们一个一个提到栈顶,然后最后就可以很简单地交换。 次数等级与时间复杂度:\(O(nm^2)\)。 代码 namespace Subtask_ 阅读全文
摘要:
[NOIP2020] 字符串匹配 题解 知识点 KMP,扩展 KMP(Z 函数)。 分析 首先我们来考虑一个做法:枚举 \(AB\) 串的长度,也就是枚举前缀是 \(AB\) 串,然后再向后跳,找到满足条件的 \({(AB)}^iC\),这里用前后缀和的方式处理出各个前后缀出现奇数次的字符的数量,然 阅读全文
摘要:
[NOIP2020] 排水系统 题解 知识点 拓扑排序,高精度。 分析 首先这是一个明显的拓扑排序,用 long long 可以直接拿到 90 分(当年不能用 __int128),很多人到这里就直接上高精度了,但是注意到题目范围有两个小提示: \(0 \le d_i \le 5\); 数据保证,污水 阅读全文