05 2016 档案
摘要:题目比较基础。 A题: 算字符串连续子串的hash,线段树维护hash,这里并不是标准的hash,所以没难度。 当然用前缀和+逆元好像也可以,不过我没想清楚如果被除数为0怎么处理逆元。 #pragma comment(linker, "/STACK:102400000,102400000") #in
阅读全文
摘要:通过用LCT维护parent树来实现后缀自动机的在线操作。 注意right值初始化为0,然后加新结点的时候只要将np的right值设为1,而不需要改变nq的right值,因为nq是内部的结点,np才是外层的结点。 思路很简单,代码真长,调了挺久。。。。不过写起来还算清晰。。。 #include<bi
阅读全文
摘要:给定两个串,分别截取字串X和Y,连接组成X+Y,求不同的X+Y的方案数。 对于X+Y,如果重复的部分其实就是从同一个X+Y的某个地方断开弄成不同的X和Y,那么只要使得X和X+Y匹配得最长就行了。 因此,对两个字符串分别建立后缀自动机A和B,在A中找字串X,当X的末尾不能接某个字符c时,在B中找以c为
阅读全文
摘要:就用spoj1812的代码做模版吧。。。 #include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) using namespace std; typede
阅读全文
摘要:如果不算pre指针的话后缀自动机就是一个DAG,这是它能很方便地进行dp的前提。 而pre指针返回什么呢,返回的就是上一个的前缀包含改结点所代表子串的那个后缀,和AC自动机上的fail指针很像,都是为了匹配。我目前学得不深,看不出和AC自动机的fail指针有什么区别,用起来也几乎一样。 相比于字典树
阅读全文
摘要:可能是最后的一场bestcoder,没上div1确实是有点遗憾,,,这场题目比较简单,认真打的话AK应该问题不大。 01: 判断n=x^2-y^2是否有正整数解。由于上场codeforces中毒了,这次一看01直接懵了。。。不会。。。赛后一想,,,果然水题。。。。 n=(x+y)*(x-y) , 令
阅读全文

浙公网安备 33010602011771号