文章分类 -  笔记

摘要:注:本文废话比较多,因为是用来交差的。 关于一类染色计数问题的研究 1. 引入 给出一张无向图,其中包含 \(n\) 个点,以及 \(m\) 条边,以及颜色的个数 \(k\)。每条边代表其两端连接的点颜色不能相同。问题是给这 \(n\) 个点染任一种颜色,求出满足上述每条边的限制的方案数。当然方案数 阅读全文
posted @ 2024-10-30 21:11 s1monG 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1. 后缀平衡树 引入 后缀平衡树的每个节点维护一个后缀,平衡树中序遍历出来的就是后缀数组。 我们假设已经维护好了 \(S\) 的后缀平衡树,现在从前插入一个字符 \(c\),现在要把 \(c+S\) 插入。 假设我们现在比较 \(c+S\) 和 \(A\) 的大小,若首字母不同,那么已经比较出; 阅读全文
posted @ 2024-08-01 21:05 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1. 分治法 我们先把所有点按照 \(x\) 坐标为第一关键字,\(y\) 坐标为第二关键字排序。 我们以 \(p_{n/2}\) 为分界点,拆分点集 \(A_1,A_2\),递归下去,直到 \(|A|\le 2\)。 设当前 \(A_1,A_2\) 中各自最近距离为 \(d_1,d_2\),令 \ 阅读全文
posted @ 2024-05-06 10:40 s1monG 阅读(36) 评论(0) 推荐(0) 编辑
摘要:P4389 付公主的背包 考虑构建生成函数 \(F(x)=\sum_{i=0}^\infty x^{iV}=\dfrac{1}{1-x^V}\), 答案为 \(m\) 个生成函数的卷积,但是复杂度显然错误。 考虑把乘法化简,全部取 \(\ln\) 之后变成了加法,最后 \(\exp\) 回去。 设 阅读全文
posted @ 2024-04-11 21:29 s1monG 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1.普通生成函数 基础知识 序列 \(a\) 的普通生成函数(OGF)为 \(F(x)=\sum a_ix^i\). 这是一些把数列转化为幂级数的例子: \(\{1,a,a^2,a^3,...\}\to\sum_{i=0}^\infty a^ix^i=\dfrac{1}{1-ax}\) \(\sum 阅读全文
posted @ 2024-04-11 21:28 s1monG 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.FFT/NTT 略。 2.多项式求逆 求 \(F^{-1}(x)\times F(x)=1\pmod {x^n}\) 我们假设已经求出了 \(F_*^{-1}(x)\times F(x)=1\pmod {x^{n/2}}\) (\(n/2\) 向上取整) 而 \(F^{-1}(x)\times 阅读全文
posted @ 2024-04-05 21:02 s1monG 阅读(3) 评论(0) 推荐(0) 编辑
摘要:引入 已知 \(A,B\),用于解决 \(C_i=\sum_{j\star k=i}A_jB_k\)。其中 \(\star\) 是一种二进制运算。 我们可以构造 \(fwt\) 序列, 使得 \(A\to fwt_A\),\(B\to fwt_B\),\(fwt_C\) 为 \(fwt_A,fwt_ 阅读全文
posted @ 2024-03-15 21:57 s1monG 阅读(13) 评论(0) 推荐(0) 编辑
摘要:矩阵求逆 我们现在求逆 \(A\),那么我们把单位矩阵 \(I\) 放在 \(A\) 的右边,然后对这个 \((n\times 2n)\) 的矩阵消元。 我们得到了一个形如 \([IB]\) 的矩阵,\(B\) 就是 \(A\) 的逆矩阵。 如左边得不到 \(I\),那么就无解。 行列式求值 我们要 阅读全文
posted @ 2024-03-10 20:59 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:第二类斯特林数 设 $ {n\brace m}$ 表示 \(n\) 个元素放进 \(m\) 个无区别集合的方案数。 有 \({n\brace m}= {n-1\brace m}\cdot m+{n-1\brace m-1}\) 表示对于第 \(n\) 个元素,新开一个集合和加入原有的集合的方案数。 阅读全文
posted @ 2023-10-24 21:35 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:每个点维护两个权值:\(\text{val},\text{pri}\),其中 \(\text {val}\) 满足二叉搜索树性质,\(\text{pri}\) 满足大根堆。 \(\text{pri}\) 是随机生成的。 #include<algorithm> #include<iostream> # 阅读全文
posted @ 2023-10-02 20:19 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:引入 先从 \(n\) 个点的有标号无根数个数出发,是 \(n^{n-2}\) 种。这是有关 prufer 序列的。 prufer 序列是这样建立:每次寻找编号最小的叶子节点并删除,在序列中加入这个点与之相连的那个点编号。 重复以上过程直到树只有两个点。 两个性质:剩下这两个点其中一个一定是 \(n 阅读全文
posted @ 2023-09-27 19:52 s1monG 阅读(8) 评论(0) 推荐(0) 编辑
摘要:以 P3403 跳楼机为例: 令 \(h\gets h-1\),相当于求 \(ax+by+cz=k(k\le h)\) 的 \(k\) 的个数。 设 \(d_u\) 表示到达满足 \(k\bmod x=u\) 最小的 \(k\). \(d_u+y\to d_{(u+y)\bmod x},d_u+z\ 阅读全文
posted @ 2023-09-24 19:56 s1monG 阅读(2) 评论(1) 推荐(0) 编辑
摘要:#### 引入 以下问题属于卡特兰数列。 1.$n$ 对括号,问合法括号匹配的方案数。 2.$n$ 个元素依此顺序进栈,则有多少种出栈序列。 3.一个 $n\times n$ 网格图,你要从 $(0,0)$ 走到 $(n,n)$,每次可以上下左右走,不可以走到 $(0,0)\sim (n,n)$ 的 阅读全文
posted @ 2023-09-06 19:59 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:### 前置知识 对于若干向量组成的线性空间 $V$,其存在子集 $B$. $B$ 是线性无关的(指任意向量不能被其他向量通过线性组合表示)。 而且 $B$ 的张成(其通过任意线性组合表示的所有向量)为 $V$. ### 引入 OI 中的基,一般都运用于解决异或的问题。 两个二进制有 $len$ 位 阅读全文
posted @ 2023-08-27 21:10 s1monG 阅读(6) 评论(0) 推荐(0) 编辑
摘要:引入 用途 用于快速的判断一个数是否为质数。 费马素性测试 费马小定理:若 \(p\) 为质数,那么 \(a^{p-1}=1\pmod p\), 我们只需枚举 \(a=2\sim p-1\) ,检验 \(a^{p-1}=1\pmod p\) 是否满足即可。 然而一些合数也可以通过这个测试,比如 \( 阅读全文
posted @ 2023-08-24 20:23 s1monG 阅读(126) 评论(0) 推荐(1) 编辑
摘要:#### 有向图游戏 有一个有向图,图上有一个棋子,Alice 和 Bob 轮流移动棋子,不能移动的人算负。 #### SG 函数 首先,对于有向图上没有后继的点 $x$,$\text{SG}(x)=0$. 对于任意一个点 $x$,设其后继状态为 $y_1,y_2...y_m$,$\text{SG} 阅读全文
posted @ 2023-08-24 16:10 s1monG 阅读(8) 评论(1) 推荐(0) 编辑
摘要:1.FFT 复数 复数乘法的运算法则是模长相乘,幅角相加。 在单位圆中(模长为1),复数相乘只会幅角转动。 定义单位根 \(w_n\),表示转 \(\frac{1}{n}\) 圆的角。 满足 \((w_n)^n=1\)。 单位根的 \(0\sim n-1\) 次幂均分整个圆,即满足 \((w_n^i 阅读全文
posted @ 2023-08-02 21:25 s1monG 阅读(18) 评论(0) 推荐(0) 编辑
摘要:### 1.上下界网络流 #### 无源汇上下界可行流 每条边不仅有容量上界,还有容量下界,必须至少有若干流量流过。 且原图没有源点和汇点。 记 $f_0$ 为“每条边都恰好流了下界”的方案。 $f_0$ 可能不满足流量守恒。 我们记 $p_u=\sum_v f_0(u\rightarrow v)$ 阅读全文
posted @ 2023-08-01 13:45 s1monG 阅读(26) 评论(0) 推荐(0) 编辑
摘要:### 1.生成函数 #### 1.1 定义 如果存在一个数列 $a_0,a_1,...,a_n$, 定义其普通生成函数为 $f(x)=a_0+a_1 x+a_2x^2+...=\sum_{i=0}^{\infty}a_i x^i$. 指数生成函数为 $g(x)=a_0+a_1\dfrac{x}{1 阅读全文
posted @ 2023-07-13 09:27 s1monG 阅读(26) 评论(0) 推荐(0) 编辑
摘要:### 1.后缀数组 #### 引入 ##### 结构 后缀数组一般由两个数组组成: $sa_i$,表示按照字典序排序第 $i$ 小的是哪个后缀。 $rk_i$,表示第 $i$ 个后缀排名第几。 有 $sa_{rk_i}=rk_{sa_i}=i$ ##### 计数排序 是一种支持排序算法,时间 $O 阅读全文
posted @ 2023-06-01 09:50 s1monG 阅读(12) 评论(0) 推荐(0) 编辑