随笔分类 - 板子
摘要:一次不定方程非负整数解个数 前置定理: \(\frac{1}{1-x}=\sum^{\infty}_{r=0}x^r\) \(\frac{1}{1-sx}=\sum^{\infty}_{r=0}s^rx^r\) \(\frac{1}{(1-x)^n}=\sum^{\infty}_{r=0}C^{n-
阅读全文
摘要:线性基 学习资料:OI Wiki 论记笔记的重要性:20天前学的东西,今天做题差点想不起我学过它 (._."ll) 概念 线性基是向量空间的一组基,通常可以解决有关异或的一些题目。 是由一个集合构造出来的另一个集合,有如下性质: 线性基的元素能相互异或得到原集合的元素的所有相互异或得到的值。 线性基
阅读全文
摘要:回文树&&回文自动机PAM 学习资料:hyfhaha-PAM学习小结 OI Wiki 回文树 模板 回文树模板: \(Fail\) 指针:当前节点的最长回文后缀。 例题:luoguP3649回文串 题面:给你一个由小写拉丁字母组成的字符串 \(s\)。我们定义 \(s\) 的一个子串的存在值为这
阅读全文
摘要:后缀自动机 SAM 模板 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e6+50; struct Node{ int ch[26]; int len,fa; }node[maxn
阅读全文
摘要:AC自动机 学习资料: OI Wiki 模板 解释 fail 指针: 将构建后的字典树的所有状态集合记作 \(Q\) , 状态 \(u\) 的 fail 指针指向另一个状态 \(v\) ,其中 \(v\in Q\) ,且 \(v\) 是 \(u\) 的最长后缀(即在若干个后缀状态中取最长的一个作为
阅读全文
摘要:trie树 学习资料:OI Wiki 模板: struct Tire{ int nxt[maxn][26],cnt; bool exit[maxn];//以这个点结尾的字符串是否存在 void insert(char s[],int len) { int p=0; for(int i=0;i<len
阅读全文
摘要:Min_25筛 学习资料:OI Wiki P5325题解 by wucstdio 用法: 求解 \(\sum_{i=1}^n f(i)\) ,满足 \(f(x)\) 是一个积性函数,且 \(f(p^e)\) 是关于 \(p\) 的低阶多项式。 板子&&例题 例题1: P5325 【模板】Min_
阅读全文
摘要:中国剩余定理 求解 \(x=a_i\;(mod\;b_i)\) ,其中 \(b_1,b2,\dots,b_n\) 两两互质。 __int128 exgcd(__int128 a,__int128 b,__int128 &x,__int128 &y) { if(!b){ x=1;y=0;return
阅读全文
摘要:矩阵树定理 学习资料:OI Wiki 用途与时间复杂度 用于求图(有向图和无向图)的生成树个数计数问题。时间复杂度为 \(\mathcal{O(n^3)}\) ,其中 \(n\) 是图的节点个数。需要掌握求矩阵行列式的方法。 定义与做法 无向图: 定义度数矩阵 \(D(G)\) : \[ D_{i,
阅读全文
摘要:斯坦纳树 学习资料:OI Wiki 问题: 在一个无向带权连通图 \(G=(V,E)\) 中,对点集 \(S\subset V\) 求一边集 \(C\subset E\) ,使得 \(u\in S\) 相互连通且 \(\sum w_c(c\in C)\) 的值最小。 也就是,对一个无向图 \(G\)
阅读全文
摘要:整理关于 \(\rm{ax+by=c}\),遇到的一系列 在这里,\(x\) ,\(y\) 是变量,\(a,\;b,\;c\) 是常量 前置: 对于二元一次不定方程 \(ax+by=c\),有整数解的充要条件是 \((a,b)|c\) ; 设 \(a=\frac a{gcd(a,b)}\), \(b
阅读全文
摘要:FFT-快速傅里叶变换 一,时间复杂度 时间复杂度: \(\mathcal{O(nlogn)}\) 二,限制 计算过程(即 多项式相乘过程)不能取模; 常数较大; 会存在精度差。 三,模板 计算多项式 \(C=A\times B\), 其中 多项式 \(A\) 的长度是 \(n+1\), 多项式 \
阅读全文
摘要:BSGS(baby-step giant-step) 学习资料:OI Wiki 基础篇 BSGS (baby-step giant step),常用于求解离散对数问题,该算法可以在 \(\mathcal{O(\sqrt p)}\) 的时间内求解 \[ a^x \equiv b\quad (mod\;
阅读全文
摘要:树状数组套主席树 (其实是树状数组套动态开点权值线段树 作用: 即动态主席树,动态(带修)查询区间 \(k\) 小(大)值 做法: 回顾主席树:简单来说主席树在查询时 是查询 \(T[r]-T[l-1]\) 区间的值的,建立是 \(T[i+1]\) 在 \(T[i]\) 的基础上建立的。用于静态查询
阅读全文
摘要:动态树(LCT) 学习笔记: Yang Zhe QTREE解法的一些研究 , OIWiki 时间复杂度: \(\mathcal{O(nlogn)}\) 前置知识: splay, 树链剖分 理解 可以简单把 LCT 理解成用一些 Splay 来维护动态的树链剖分,一期实现动态树上的区间操作。 对于每条
阅读全文
摘要:全局平衡二叉树 学习资料:博客1,博客2 注:博客1讲得比较详细,博客2的代码和博客1区别。 时间复杂度:\(\mathcal{O(nlogn)}\) 但是 常数比较大(但也没有LCT那么大)!虽然树链剖分的时间复杂度是 \(\mathcal{O(n logn^2)}\),但是树链剖分有时会更快。复
阅读全文
摘要:kruskal重构树 $\mathcal{O(nlogn)}$ 学习资料: "hwzzyr的博客" 定义?: 在kruskal算法的过程中,把最小生成树的边权改为点权而构建的二叉树。 抛开kruskal算法来讲,对原图(注意,不止对树,图也可以)的边集进行排序,然后将边当成节点建树。 性质: 是一个
阅读全文
摘要:k维滑窗:扩展到k维的单调队列 假如要求一个高维度的空间(数组,矩阵,长方体,这些固定窗口型区域)的固定区域极值时,且满足 高纬度空间是在复杂度范围内 时,可以用这个做法, 时间复杂度为 $\mathcal{O(高维空间容量\times 维度)}$。这个维度只是一个小常数,可以忽略,所以也可以说,时
阅读全文
摘要:$Havel Hakimi$ 定理 学习资料: "makenothing博客" 判断给定度序列是否可简单图化 可简单图化:一个由非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可简单图化的。 定理描述: 由非负整数组成的有限非递增序列, $S=\{d_1,d_2,...,d_n\}$ ,
阅读全文
摘要:点分治 学习资料:OI WiKi树分治 时间复杂度 \(\mathcal{O(nlogn)}\), 这里是指 $solve(;)$函数需要 \(\mathcal{O(n)}\),再加上分治的 \(logn\)。所以前提是 $solve()$函数的复杂度不要太糟糕。 作用 处理树的大量路径信息。
阅读全文

浙公网安备 33010602011771号