10 2021 档案
摘要:题解 一堆细节的题。 首先答案一定不超过 。 考虑枚举 的最低位填啥。由于 这些数除去最低位以外的位置都相同,因此可以把它们并在一起,然后递归下去。对于每个“数”维护一个数集,表示需要有这个数集里的
阅读全文
摘要:题解 好妙的一道题。 将每个串都抽象成二维平面上的一个点 , 为其中 N 的个数, 为 B 的个数。 二分答案 ,那么对于一个点 ,能通过不超过 次操作到达它的点的范围是一个凸六边形,所以可
阅读全文
摘要:题解 当然有广义 SAM 做法,但我用的是 AC 自动机。 设 个输出的串为 。 题目中给出的字符串实际上就是一棵 Trie 树,对这棵 Trie 建立 ACAM。 考虑“子串”实际上就是前缀的后缀。对于任意的串 \
阅读全文
摘要:题解 CSP 考前做道 manacher。 一个性质:一个字符串的本质不同回文子串个数是 级别的。 于是枚举这 个回文子串,逐个判断即可。 具体枚举方式见代码。 代码 #include <cstdio> #include <
阅读全文
摘要:常用 chkmin,chkmax template<typename T> bool chkmin(T& x,const T& y){return y<x?(x=y,1):0;} template<typename T> bool chkmax(T& x,const T& y){return x<y
阅读全文
摘要:2021 10.10 正睿 NOIP 十连测 Day5 A 合法的操作范围是 ,我写成了 。 10.23 CSP-S 2021 请欣赏我的快读: template<typename T> void Read(T &_x){ _x=0; int _f=1,ch=
阅读全文
摘要:一种不一样的做法 首先,因为是 的简单路径上的点权之和的最大值,所以显然只会在第 行进行“向左”的操作。 可以发现,每次向左一定会取到一个 行 列的子矩阵中的所有数,其中 是向左的次数。 如图,向左的次数是 \(6
阅读全文
摘要:题解 假如只有 操作,那么操作之间可交换,可以建出 DAG,统计出每种 操作的执行次数即可。 可以发现,执行完一个操作 ,再进行一次 操作,相当于执行了 次 操作。 于是先倒序拓扑出每个操作执行完会被乘多少,然后正序拓扑即可
阅读全文
