摘要:
"Link" 我们可以把它转化成二分图匹配。 矩阵$\mathbf A$满足$a_{i,j}=[\exists e(i,j)]$,那么总的方案就是$\sum\limits_{p}\prod\limits_{i=1}^na_{i,p_i}$。 显然$1\equiv 1\pmod2$,因此总的方案就是$ 阅读全文
摘要:
###一些准备工作 为了防止一些分类讨论我们在$s$的末尾加一个$,假定$是最小的字符。 用$rank_i$表示$\operatorname_i$的排名,$sa_i$表示排名为$i$的$\operatorname$的起始位置。 定义一个后缀$\operatornamei$为S型后缀当且仅当$\ope 阅读全文
摘要:
最小循环表示法 求一个字符串的最小循环表示法的起始位置。 先把串倍长,维护两个指针$i,j$表示可能的最小循环表示的起始位置。 暴力求出$k=lcp(i,j)$,然后比较$s_{i+k},s_{j+k}$。 如果$s_{i+k}<s_{j+k}$,那么$[j,j+k]$范围内的所有下标均不可能成为最 阅读全文
摘要:
"Link" 这是一个不需要推式子的清真做法。 首先我们把棋盘黑白染色,得到两个新的棋盘,然后分别在两个棋盘上算方案数$r,R$再卷起来就好了。 观察可得棋盘$B_1=(1,1,3,3,\cdots),B_2=(2,2,4,4,\cdots)$,行数分别为$n,n 1$。 对于$B_1$运用Gold 阅读全文
摘要:
记$x^{\underline{n,m}}=\prod\limits_{i=0}^{n 1}(x im),\lfloor n\rfloor_m$为$\le n$的最大的$m$的倍数。 $\text{Some Definition}$ Rook多项式 给定棋盘$B$,在$B$上放$k$个Rook并使任 阅读全文
摘要:
##\(\text{Some Definitions}\) ###阶 一个群$G$的阶是指其势,即其元素的个数。记做$\operatorname{ord}(G)\(或\)|G|$。 一个元素$a$的阶(或称周期)是指使得$a^m=e$的最小正整数$m$,记做$\operatorname{ord}(a 阅读全文
摘要:
斜堆是一种可并堆。 我们需要维护可并堆森林,因此用并查集维护每个节点所属可并堆的根。 为了防止权值相同的情况,我们以编号作为偏序关系的第二关键字。 ###merge merge实现合并两棵斜堆。 假如我们要合并的两个斜堆根是$u,v$,不妨设$val_u<val_v$。 然后递归合并$u$的右儿子和 阅读全文
摘要:
通道 "Luogu" "LOJ" "UOJ" 先在第一棵树上跑边分治。 (边分治大概就是先多叉树转二叉树然后跟点分治差不多的过程。为了标记反向边需要用前向星存图,比较麻烦。) 假设当前选的边是$(u,v)$,那么$(a,b)$(默认$a,b$分别和$u,v$在同一个连通块)的贡献就是$w(u,v)+ 阅读全文
摘要:
数树 "Luogu" "LOJ" "UOJ" 不管怎样先特判$y=1$的情况。 先考虑固定一棵树的情况。 设固定的树的边集为$E_1$,枚举的树的边集为$E_2$。 设$f(T)=y^{n |T|}$,那么$ans=\sum\limits_{E_2}f(E_1\cap E_2)$。 考虑经典子集反演 阅读全文
摘要:
$\text{Some Definitions}$ 给定有向图$G=(V,E)$。 $\omega(P)=\prod\limits_{e\in P}w(e)$ $e(u,v)=\sum\limits_{P:u\rightarrow v}\omega(P)$ 起点集$A$和终点集$B$:$A,B\su 阅读全文