摘要:
传送门 今天来学回文自动机的模板吧!Achen开心地告诉自己,然后打开了一道水题。 噫,这不是马拉车的水题嘛、、 第一反应,马拉车,然后线段树维护第i个字母结尾的最长回文串长度 然后其实做法应该是线性的,傻了吧,,, 考虑马拉车的时候往后拓展,容易想到每个点第一次被拓展到的时候的那个店就是以它为结尾 阅读全文
摘要:
传送门 一道后缀自动机的简单题; 对串建立后缀自动机,然后基排算每个点的right集合大小,它能到达的点集的大小,它能到达的点集的right集合大小。 然后直接在自动机上跑就好了。 //Achen #include<algorithm> #include<iostream> #include<cst 阅读全文
摘要:
传送门 生成树计数裸题,因为模数不是质数所以要用辗转相除的高斯消元。 de了很久的bug然后发现一个变量A赋值后下一行又申明了一个新的临时变量A(: //Achen #include<algorithm> #include<iostream> #include<cstring> #include<c 阅读全文
摘要:
传送门 题目可转换为已知一个串kmp之后的nxt数组,求字典序最小的原串。 已知第i位结尾的串循环节长度位x,那么nxt[i]=i-x; 当nxt不为0时,s[i]=s[nxt[i]]; nxt为0时,那么考虑kmp的过程,沿着nxt[i-1]一直往前跑找到的每一个j,s[j+1]都不能是现在的s[ 阅读全文
摘要:
A 题面 .题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<queue> #include<cmath> typede 阅读全文
摘要:
2-sat模板 输出方案 黄学长博客 传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<vector> #include<q 阅读全文