摘要:
补题狗不发表评论,但是摩尔投票是不是有点那啥 小心 deque 摩尔投票 对于一个数列,如果其众数出现次数严格大于数列长度的一半,就可以用摩尔投票的方式 $O(n)$ 求出众数。 当众数出现次数小于一半时,求出众数之后还需要检验。 模板:P2397 yyy loves Maths VI (mode) 阅读全文
摘要:
以各种方式出现被玩烂的题目,算是小 trick 题? cp editor 意外地好用 思路 可并堆。 平行时空同位体:CF13C P4331 P4597 CF713C P2893 已知做法: $O(n ^ 2)$ dp:令 $f[i][j]$ 为前 $i$ 个数不超过 $j$ 的最小代价 优化:使用 阅读全文
摘要:
思路 点分树 + 根号重构 + *高速平衡树。 点分树的两种常见用法无非是 直接做和路径有关的暴力 还有 处理这种有关单点和整树的问题,后者的另一个经典题目是 P3241 [HNOI2015]开店。 回到这个题目,处理路径考虑先上点分治,暂时不考虑强制在线的限制。 因为每次加上一个新点,所以可以考虑 阅读全文
摘要:
欢迎收看古明地恋的心跳大冒险 思路 容斥 + dp. \(\gcd\) 相关,考虑 \(\mu\) 反演或者 \(\varphi\) 反演。 本质上都和容斥差不多,不如直接一步到位考虑容斥。 把权值拆成 \(\gcd\) 和对应的方案数两部分,考虑求对应的方案数。 令 \(f[v]\) 表示 \(\ 阅读全文
摘要:
思路 线段树。 题意可以转化成每次判定有多少个前缀满足所有结点构成矩形。 首先排除确定矩阵坐标再数答案的做法,因为太难。 所以考虑如何对前缀进行判定。 一个简单的想法是维护前 $i$ 个点中 $x, y$ 坐标的最值,但这样只能暴力看矩阵中的所有元素,跑得很慢。 不妨思考一下合法的条件: 前 $i$ 阅读全文
摘要:
《正解分块 + FFT 跑 1min,__builtin_popcount 暴力跑 10s》 《没人写正解,CF 也不卡》 思路 正解:分块 + FFT 乱搞:__builtin_popcount 首先我们知道哈明距离可以用一种 $O(|字符集| |S|)$ 的算法求。 具体考虑枚举字符集中的每一个 阅读全文
摘要:
概念 回文自动机,PAM,又叫回文树。 用于处理和回文子串有关的问题,和 SAM 有一些类似的地方。 构造 首先 PAM 上的每个结点代表原串的一个回文子串。 根据神秘结论,原串本质不同的回文子串至多有 $n$ 个,也就是 PAM 的点数至多是 $n + 2$,边数至多是 $n$. 考虑到回文串的奇 阅读全文
摘要:
注意考场 Dev-C++ 的默认栈空间可能和本地不同,如果爆栈请在编译命令中加入 -Wl, --stack = [stack memory size] 来手动开栈。 材料: VS Code 本体 编译器:mingw64 / TDM-GCC 64 等 步骤: 下载 mingw64,解压至无中文的任意路 阅读全文
摘要:
概念 圆方树是一种基于无向图构造的树。 我们知道,圆方树最早是 WC 上提出的处理仙人掌的东西,用于将树上做法拓展到复杂度正确的仙人掌做法。 但是一些关于点双有性质的题也可以用圆方树转化成树上问题,例如这个。 构造 对于原图中的点,称之为圆点。 对于原图的每个点双,考虑为其虚拟一个对应的结点,称之为 阅读全文
摘要:
我自己写的代码自己都看不懂。 所以芝士一种船新做法,爱来自学弟,lc 学长好工作。 题意 校内 OJ 的题面过于简洁,人话: 给定一个有向的强连通图,问任意删边使得新图仍强连通的方案总数。 答案对 $10^9 + 7$ 取模。 思路 状压 dp + 容斥。 $n \leq 15$ 一眼鉴定为状压,令 阅读全文