摘要:
BZOJ 3172 题目中的文章是由所有单词拼出来的,但是单词直接互相独立 首先单词都丢进AC自动机,然后一个个跑匹配 每一次更新$fail$树上一段路径前缀的节点即可 事实上就是在哪里放一个1,按次向根累加就能得到答案 阅读全文
摘要:
POJ - 2778 对于所有串构建AC自动机,将AC自动机上的位置作为状态,暴力矩阵转移即可 int n,m; int a[N]; char s[N]; int val[N]; const int SIZE=101; int trie[SIZE][4]; int End[SIZE]; int fa 阅读全文
摘要:
"HDU 2457" 把AC自动机上的状态存进dp状态里,直接暴力转移就可以了 阅读全文
摘要:
"ZOJ 3228" 先把模板串都丢进AC自动机 然后跑查询 对于允许重叠的,我们直接对$fail$树上一段路径的节点的答案++ 否则我们分串的长度讨论,对于每种长度的串处理一个答案$dp[i][6]$ 阅读全文
摘要:
POJ 1204 把要查询的串都扔进AC自动机,然后暴力check就是了 阅读全文
摘要:
反演 什么是反演 对于已知$F_i=\sum a_{i,j}\cdot G_j$ 反演得到$G_i=\sum b_{i,j} \cdot F_j$ $\text{NTT,FFT,FWT}$的逆卷积都可以认为是一种反演 子集反演 即反解高位前缀和 常见我们写成代码是 void FWT(int n,in 阅读全文
摘要:
LOJ3120「CTS2019 | CTSC2019」珍珠 只是想要祭奠做的时候死去的我 约定下文中的$d$为题目中的$D$ Part1 先从最最暴力的定义转移(可以跳过这个) $S$表示个数为奇数的颜色集合 转移多项式(集合幂指数)\(F(x)=\sum_0^d x^{\{i\}}\) $\tex 阅读全文