摘要:
题意 "LOJ 2359. 「NOIP2016」天天爱跑步" 题解 考虑把一个玩家的路径 $(x, y)$ 拆成两条,一条是 $x$ 到 $lca$ ( $x, y$ 最近公共祖先) 的路径,另一条是 $lca$ 到 $y$ 的路径。(对于 $x, y$ 是 $lca$ 的情况需要特殊考虑一下就行了 阅读全文
摘要:
题意 给你一棵有 \(n\) 个点并且以 \(1\) 为根的树。共有 \(q\) 次询问,每次询问两个参数 \(p, k\) 。询问有多少对点 \((p, a, b)\) 满足 \(p,a,b\) 为三个不同的点,\(p, a\) 都为 \(b\) 的祖先,且 \(p\) 到 \(a\) 的距离不能 阅读全文
摘要:
目录定义SAM 的状态集一些性质SAM 的后缀链接SAM 的转移函数一些性质算法构造构造方法时间复杂度证明状态的数量转移的数量代码实现实际应用统计本质不同的子串个数计算任意子串出现次数统计所有本质不同子串的权值和求循环串在原串中出现次数SAM 上博弈与 trans 上查询题意题解 此篇博客大部分内容 阅读全文
摘要:
题面 给定一棵 $n$ 个点的树,点带点权。 有 $m$ 次操作,每次操作给定 $x,y$ ,表示修改点 $x$ 的权值为 $y$ 。 你需要在每次操作之后求出这棵树的最大权独立集的权值大小。 题解 如题所示 , 是个模板题 ... 首先考虑静态 $dp$ , 令 $dp_{u,0/1}$ 为 $u 阅读全文
摘要:
题意 求 $[L, R]$ 之间的素数之和 . $L≤10^{10},2×10^{10} \le R \le 10^{11}$ 题解 一个有点裸的 min_25筛 ? 现在我只会筛素数的前缀和 , 合数的过几天再学吧 . 首先推荐一波 "yyb大佬博客" ~~这个人很强 , 别那么fake就好啦~~ 阅读全文
摘要:
题意 有 $n$ 个区间,第 $i$ 个区间是 $[l_i,r_i]$ ,它的长度是 $r_i l_i$ 。 有 $q$ 个询问,每个询问给定 $L,R,K$ ,询问被 $[L,R]$ 包含的且长度不小于 $K$ 的区间数量。 $n,q≤500,000$ 题解 想了无数种 $O((n+q) \log 阅读全文
摘要:
题面 "LOJ 6435. 「PKUSC2018」星际穿越" 题解 参考了 "这位大佬的博客" 这道题好恶心啊qwq~~ 首先一定要认真阅读题目 !! 注意 $l_i 为什么呢 ? 不难发现 如果向右走两次 , 那么只有一次是一定有效的 , 另外一次的 $l_i$ 一定不会小于这次 . 向左走的话 阅读全文
摘要:
听说正解是啥 set启发式合并+维护凸包+二分 根本不会啊 , 只会 李超线段树合并 啦 ... 题意 给你一颗有 $n$ 个点的树 , 每个节点有两个权值 $a_i, b_i$ . 从 $u$ 跳到 $v$ 的代价是 $a_u \times b_v$ . 你需要计算每个节点跳到叶子的最小代价 . 阅读全文
摘要:
[TOC] 这个利用了线段树标记永久化的思想 , 支持查询很多条直线 $y=kx+b$ (线段)在 $x=k$ 的最值 . 常常可以在一些最优化问题中 优化时间复杂度 , 增强程序效率 . 算法简述 假设我们当前维护最大值 (最小值同理) . 用线段树维护每一个区间的一个 优势线段 (暴露在最上面的 阅读全文