摘要: 思路: 网络流 建边比较麻烦//By SiriusRen#include #include #include #include using namespace std;#define N 100050int r,c,d,n=66666,tmp;char a[105][105],b[... 阅读全文
posted @ 2016-12-09 20:59 SiriusRen 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 我只是想找个treap的练习题……每回找到lower_bound 就好啦//By SiriusRen#include #include #include using namespace std;#define int long longint n,m,a[200500],sum[... 阅读全文
posted @ 2016-12-09 16:34 SiriusRen 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 思路: 需要维护一个栈的AC自动机……. 要求出来 最后的栈顶是在自动机上的哪个节点。if(!ac.ch[st[tp-1]][a[i]-'a']) st[tp]=ac.ch[ac.f[st[tp-1]]][a[i]-'a'];else st[tp]=ac.ch[st[tp-1]]... 阅读全文
posted @ 2016-12-09 16:32 SiriusRen 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 思路: treap (算是基本操作吧…..) 加减的操作数很少 就暴力好啦 每回判断一下最小的数是不是比M小 如果是 就删,继续判断搞定。//By SiriusRen#include #include #include using namespace std;int n,M,... 阅读全文
posted @ 2016-12-09 16:25 SiriusRen 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 思路: AC自动机 不可以存下所有的字符串 怎么办呢 维护一个sum 使路径上所有经过的点 sum[x]++在求fail指针的时候 顺便搞了个BFS序吧 倒着(顺着fail指针)往回加一下sum 就好啦//By SiriusRen#include #include... 阅读全文
posted @ 2016-12-09 16:17 SiriusRen 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 思路: 我们先对所有读进来的T建一个AC自动机 因为走到一个禁忌串就需要回到根 所以呢 搞出来所有的结束点 或一下 fail指针指向的那个点然后我们就想转移 a[i][j]表示从i节点转移到j节点的概率 如果能够转移到 ans+=1÷alphabet 这里有一个trick ... 阅读全文
posted @ 2016-12-09 16:14 SiriusRen 阅读(176) 评论(0) 推荐(0) 编辑