摘要:
我们建SAM,在SAM上跑DP:(SAM不会点这里) 我们发现柿子的前半部分很好统计,那么我们只要搞后半部分。 我们反向建SAM,fa上的LCA就是其反串的前缀的后缀(原串的后缀的前缀)。 阅读全文
摘要:
我们建SAM,在SAM上跑DP:(SAM不会点这里) 当T=1时,cnt.fa+=cnt;(因为这时我们一个点代表了很多的子串。) 当T=0时,cnt=1 然后DFS出解。 阅读全文
摘要:
板子贴(很多都是以前打的,码风不太一样,以后有时间重新打一遍吧。) 总板子: #pragma GCC optimize("-O2") #include<bits/stdc++.h> #define getchar nc #define min(a,b) ((a)<(b)?(a):(b)) #defi 阅读全文
摘要:
原题链接 题目大意: 给你一个序列,要求维护两种操作: 1,l,r,x: 在l到r这个区间将所有 值大于X的数减X 2, l,r,x 在l到r这个区间统计值等于X的数的个数。 N(序列长度<=10^5),max(a)(序列中的最大值<=10^5). 一道神题。 我们首先应该想到用数据结构优化,但是标 阅读全文