01 2023 档案
摘要:###Before 一般形式为 ,简称 为 完全,暂不考虑,现考虑 ###模型 有若干个包含2个元素的集合,只能选择每个集合中的一个元素,并给出一些条件(例:选a后不能选b),要求求出满足这些条件的选择,这个解也称为$2
阅读全文
摘要:struct state { int len,link; int nxt[31]; }; char s[N]; int n,ans,t[N],a[N],b[N],O; struct SAM { state st[N*2]; int siz,last; void init() { for(int i=
阅读全文
摘要: 在每一个循环过程中,先寻找到主元,并将主元通过行变换(无需列变换)移动到矩阵的主对角线上, 然后将主元所在的行内的所有元素除以主元,使得主元化为 然后观察主元所在的列上的其他元素,将它们所在的行减去主元所在的行乘以一定的倍数, 使得主元所在的列内、 除主元外的其他元素化为
阅读全文
摘要:Link: https://codeforces.com/problemset/problem/1473/E CF1473E 分层图最短路 分层图就是说,如果在一个带权图上,我们对于每条路径都可以将其中k条边做一些改变,比如不计算其权值, 那么我们就先建k+1层完全相同的初始图(权值为原值),然后层
阅读全文
摘要:SA后缀数组 sa数组:sa[i]=x表示对于所有的后缀进行排序(字典序)后,得到排名为i的以第x个字符开头的后缀 rk数组:rk[x]=i,是对于所有的后缀进行排序(字典序)后,得到以第x个字符开头的排名为i的后缀 sa[rk[x]]=rk[sa[x]]=x 常用算法:nlogn的倍增算法 对于每
阅读全文