摘要:
话说我noip之前为什么要学这种东西... 简介 笛卡尔树(Cartesian Tree) 是一种二叉树, 且同时具有以下两种性质: 1. 父亲节点的值大于/小于子节点的值; 1. 中序遍历的结果为原序列. 笛卡尔树可以实现 $O(n)$ 预处理, 均摊 $O(1)$ 查询的序列rmq操作. 建立 阅读全文
摘要:
斜率优化. 发现 $$ dp[i] = min(dp[j]+(i−j−1+sum[i]−sum[j]−L)^2 (j include include include include include include using namespace std; define rep(i,l,r) for( 阅读全文
摘要:
简介 斜率优化是一种利用数形结合优化dp的方式, 属于一种决策单调. 斜率优化可以把某些 $1D/1D$ 动态规划的复杂度优化到 $O(n)$ 或 $O(nlogn)$. 形式 当动态规划的转移方程形如 $$ dp[i] = \min / \max(a[i] b[j] + c[j]) + d[i] 阅读全文
摘要:
简介 Dijkstra最短路+A 搜索. 先逆向求所有点到终点的最短路 $dis[i]$. 定义估价函数 $f[i] = d[i] + dis[i]$ , 其中 $d[i]$ 表示当前起点到 $i$ 点的路径长度, 则 $f[i]$ 表示一条从 $u$ 到 $v$ 经过 $i$ 点的路径长度. 与D 阅读全文
摘要:
AC 自动机 AC 自动机 (Aho Corasick Automation) 是一个多模式字符串匹配算法. 定义 $fail$ 函数为该状态 (节点) 代表的字符串的 最长后缀 所在的状态. 特别的, 如果不存在这样的状态, $fail$ 函数设为根. 为了提高构建和匹配的效率, 在建立 trie 阅读全文
摘要:
左偏树 用途 支持$O(\log n)$合并,$O(\log n)$删除堆顶,$O(\log n)$查找,$O(1)$取最小值的堆. 定义 对于左偏树中的一个节点x,离它最近的一个叶子结点经过的边数称为它的距离,记为 $dist(x)$ .特别地,外结点的距离为0,空节点(null)的距离为 1. 阅读全文
摘要:
可并堆板子题. 见 "[模板] 左偏树" 代码 include include include include include include include using namespace std; define rep(i,l,r) for(register int i=(l);i=(r); i 阅读全文
摘要:
卡读的毒瘤题== 看懂之后用 模拟.~~或者线段树~~ include include include include include include include using namespace std; define rep(i,l,r) for(register int i=(l);i=(r 阅读全文
摘要:
求 $x=k$ 时满足一元一次不等式 $ax+b include include include include include include using namespace std; define rep(i,l,r) for(register int i=(l);i=(r); i) defin 阅读全文
摘要:
初赛难度组合题。 $$ Ans = A_n^n ( A_{n+1}^{2} A_{n+3}^{m} + A_{m}^{1} A_{2}^{2} A_{n+1}^{1} A_{n+2}^{m 1} ) $$ 需要高精度。 另外,$A_n^m$ ,当$n include include include 阅读全文