
笔记
文章平均质量分 89
破壁人五号
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
李超线段树略解
李超树是具有线段树结构的一种数据结构,通常用来维护区间插入一次函数与单点查询最值。(下文将问题看作:在平面内维护:插入一条线段、询问现有线段中与 x=ax=ax=a 交点纵坐标最大的线段编号)结构李超树的结构与线段树相同,只是每个节点存储的是平面上的一条线段。该线段是 下放到过该节点的线段当中,在 x=midx=midx=mid 处纵坐标最大 的一条。我们称它为“优势线段”。插入首先将一条线段分成 O(log)O(\log)O(log) 个区间。对于每段线段,分情况讨论:当前节点没有优势线原创 2020-06-13 08:34:44 · 323 阅读 · 0 评论 -
PAM / 回文自动机(回文树)略解
回文自动机可以处理一个字符串的回文子串的信息,复杂度为 O(n)。原创 2020-06-06 09:28:23 · 563 阅读 · 0 评论 -
超过 90% 的人都不知道!居然能这样用 O(√N) 次运算求出 N 个数之和!网友:长见识了 | Powerful number 筛
本文介绍的 Powerful number 筛可以用来求出一类积性函数的前缀和,最快可以达到根号复杂度。原创 2020-06-02 21:58:01 · 965 阅读 · 0 评论 -
快速 gcd 变换(FGT)
题目:定义 gcd\gcdgcd 卷积如下:A∗BA*BA∗B 的结果为 Ci=∑[gcd(j,k)=i]AjBkC_i=\sum[\gcd(j,k)=i]A_jB_kCi=∑[gcd(j,k)=i]AjBk。求 555555 个长为 N=106N=10^6N=106 的数列卷积的结果。时限 0.6s。记 (A′)i=∑[i∣j]Aj(A')_i=\sum[i|j]A_j(A′)i=∑[i∣j]Aj。则 gcd\gcdgcd 卷积相当于变换后点值相乘。直接枚举的话复杂度是调和级数 O(原创 2020-05-27 15:49:14 · 688 阅读 · 0 评论 -
min_25 筛略解
记 PPP 为质数集合;pip_ipi 为第 iii 个质数(特别地,p0=1p_0=1p0=1);min(x)\operatorname{min}(x)min(x) 为 xxx 的最小质因子;f(x)f(x)f(x) 为要求前缀和的积性函数;f′(x)f'(x)f′(x) 为 f′(x)=f(x)(x∈P)f'(x)=f(x)(x\in P)f′(x)=f(x)(x∈P) 的一个完全积性函数。筛质数的 fff 的前缀和记 g(n)=∑i=1n[i∈P]f(i)=∑i=1n[i∈P]f.原创 2020-05-23 21:10:34 · 274 阅读 · 0 评论 -
二分图博弈略解
问题一个二分图。先手选择一个点出发,双方轮流移动到一个不曾经过且与当前点有边相连的点,无法移动者负。如图中情况,后手负。结论假如先手的出发点不在某个最大匹配中,则先手必胜。如图,蓝色标出了一个最大匹配,绿色圈出的点则为先手必胜的点:换句话说,假如这个点在所有的最大匹配中都被选中了,先手选这个点必败。原因从起点出发,后手只能选择一个在最大匹配中的点,否则后手走的这条边可以被加入...原创 2020-05-05 17:04:58 · 1102 阅读 · 3 评论 -
带花树略解
算法演示考虑匈牙利算法的流程,每次 BFS 时针对一条边 (u,v)(u,v)(u,v) 有四种情况:v 没有被匹配这代表我们找到了增广路径,将路径上的边翻转,结束 BFSv 被匹配,不在 BFS 树中加入队列,准备 BFSv 在树中,且树加上这条边形成偶环忽略v 在树中,且树加上这条边形成奇环二分图不可能出现奇环对于一般图,着重处理第四种情况:...原创 2019-09-13 22:42:56 · 1971 阅读 · 0 评论 -
2-SAT 略解
2-SAT 问题形如 (a∨b)∧(b∨¬c)∧(¬a⊕d)∧⋯=1(a\lor b)\land(b\lor\lnot c)\land(\lnot a\oplus d)\land\dots=1(a∨b)∧(b∨¬c)∧(¬a⊕d)∧⋯=1,问有无可行解(以及求出一个可行解)。更形象地可以理解为有 nnn 对点(每对点就对应 aaa 与 ¬a\lnot a¬a,把点记作 aaa 与 a′a&...原创 2019-06-09 15:44:45 · 189 阅读 · 0 评论 -
Lucas/exLucas 略解
Lucas 是一种用来求解 Cnmmod  pC_n^m \mod pCnmmodp(ppp 为质数)的算法。利用 exLucas 可以求解 ppp 不为质数的情况。Lucas前置知识:求乘法逆元暴力求组合数这种算法是基于 Lucas 定理的:设 ppp 为素数,将正整数 n,mn,mn,m 表示为 ppp 进制如...原创 2019-05-12 12:20:22 · 278 阅读 · 0 评论 -
舞蹈链算法(DLX 算法)略解
DLX 是用来解决精确覆盖问题的算法,算是 X 算法的优化。时间复杂度 $O(玄学)$(最坏是指数级,绝大多数情况跑得很快)。最经典的应用为求解数独。原创 2019-03-15 21:39:09 · 2337 阅读 · 3 评论