10 2021 档案
摘要:笛卡尔树: 序号满足二分查找树的性质,值满足堆的性质的树。 构建: 方法: 用单调栈构建。 代码: const int N = 1e7 + 10; inline ll Read() { ll x = 0, f = 1; char c = getchar(); while (c != '-' && (
阅读全文
摘要:链接: 洛谷 题目大意: \(H\) 国有 \(n\) 个城市,这 \(n\) 个城市用 \(n-1\) 条双向道路相互连通构成一棵树,\(1\) 号城市是首都,也是树中的根节点。 \(H\) 国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决
阅读全文
摘要:链接: 洛谷 题目大意: 给定一个串,每次选择最前或最后的字符,求最后能得到字典序最小的串。 正文: 贪心时遇到 \(\texttt{BACB}\) 这样的串时,不能随便选,于是想到了后缀数组。那么取最后的字符,就相当于把原串反过来。所以先对原串如此处理:\(S'=S+\texttt{@}+\bar
阅读全文
摘要:优质讲解:埃及分数 优质讲解:悬线法 优质讲解:差分约束系统 优质讲解:决策单调性优化 优质讲解:cdq分治和整体二分 优质讲解:分层图最短路 优质讲解:主定理 优质讲解:区间最值操作 优质讲解:常用距离计算 优质讲解:二次离线莫队 优质讲解:ETT 优质讲解:神的字符串 优质讲解:矩阵树定理 优质
阅读全文
摘要:链接: 洛谷 题目大意: 有 \(n\) 个人,每个人有一个高度 \(h_i\),从左到右按以下原则依次将每个人插入: 第一个人直接插入空的当前队形中。 对从第二个人开始的每个人,如果他比前面那个人高(\(h\) 较大),那么将他插入当前队形的最右边。如果他比前面那个人矮(\(h\) 较小),那么将
阅读全文
摘要:链接: 洛谷 博客园 题目大意: 给你两个可重集 \(a,b\),\(a,b\) 的元素个数都为 \(n\),它们中每个元素的大小 \(x\in [1,n]\)。请你分别找出 \(a, b\) 的子集,使得它们中的元素之和相等。 正文: 这是一道非常牛逼的构造题。 设 \(A,B\) 分别为 \(a
阅读全文
摘要:简介: 光速幂主要思想是分块,把幂分为 \(\sqrt{p}\) 份,那么 \(a^b=a^{k\sqrt p+t}\),其中 \(k,t\) 为常数,\(p\) 表示模数。\(\mathcal{O}(\sqrt p)\) 预处理出所有 \(a^{k\sqrt{p}}\) 和 \(a^t\)。然后
阅读全文