給定一顆trie樹,每次詢問u到v的路徑上構成的字串包含了給定模式串t多少次。
考慮離線之後對於所有的模式串建立ac自動機,考慮跨過lca的串範圍有限,直接暴力kmp即可。
然後我們就將一次詢問拆成了兩條鏈了,可以將每次詢問掛在鏈上然後離線去dfs,每次dfs時將這個節點新增進ac自動機匹配,對於一段u到v的鏈,我們在鏈頭的某乙個位置減去之前不合法的匹配數量,再在鏈尾加上總的匹配數量就好了。
如何用ac自動機來記錄某個固定的串匹配了多少次的話,可以建立fail樹之後用bit來動態維護子樹和。
/************************************====
* author : ylsoi
* time : 2019.7.2
* problem : bzoj4231
* e-mail : [email protected]
* ***********************************=*/
#include#define rep(i,a,b) for(int i=a,i##_end_=b;i<=i##_end_;++i)
#define drep(i,a,b) for(int i=a,i##_end_=b;i>=i##_end_;--i)
#define debug(x) cout<<#x<<"="using namespace std;
void file()
templatevoid read(t &_)
string proc()
const int maxn=3e5+10;
int n,m,ans[maxn];
int beg[maxn],to[maxn<<1],las[maxn<<1],cha[maxn<<1],cnte=1;
void add(int u,int v,int c)
namespace aca
vectorg[maxn];
int insert(int len,char *t)
return o;
} void get_fail()
} rep(i,1,cnt)g[fail[i]].push_back(i);
} void dfs(int u)
} void update(int u,int x)
int query(int u)
}int st[maxn][21],log[maxn],dep[maxn],fa_ch[maxn];
void dfs(int u,int fh)
}int lca(int x,int y)
int kth(int x,int k)
rep(i,0,qu[u].size()-1)
for(int i=beg[u];i;i=las[i])
if(u!=1)update(o,-1);
}int main()
dfs(1,0);
rep(i,2,n)log[i]=log[i>>1]+1;
rep(j,1,log[n])rep(i,1,n)
if(dep[i]-(1<=1)
st[i][j]=st[st[i][j-1]][j-1];
rep(i,1,m));
qu[u].push_back((node));
} int v1=kth(v,dep[v]-dep[anc]-len+1),v2=v1;
cnt+=dep[v1]-dep[anc];
rep(j,1,dep[v1]-dep[anc])s[cnt-j+1]='a'+fa_ch[v2],v2=st[v2][0];
if(dep[v]-dep[anc]>=len));
qu[v].push_back((node));
} s[cnt+1]='\0';
ans[i]+=kmp(s+1,t+1,cnt,len);
} aca::get_fail();
aca::dfs(0);
solve(1,0,0);
rep(i,1,m)printf("%d\n",ans[i]);
return 0;
}
P5239 回憶京都
先要了解一下組合數和楊輝三角的關係 c 0,0 c 1,0 c 1,1 c 2,0 c 2,1 c 2,2 楊輝三角大概就是這樣乙個結構,所以只要乙個二維字首就好了qaq就變成了 c 0,0 c 1,0 c 0,0 c 1,1 c 1,0 c 0,0 c 2,0 c 1,0 c 0,0 c 2,1 ...
隨筆 2019 6 7回憶高考有感
一年前的現在,我坐在河北省衡水市冀州中學考場中參加語文高考,正在奮筆疾書,作答語文試卷。而現在,我坐在湖南省長沙市中南大學毓秀樓中學習,心中感觸頗深,百感交集,既有為學弟學妹參加高考而緊張,也有自己對與高考的感悟,對高考的更深層認識。每個人對高考的見解不同,而我認為高考的最大意義不在於考試考出成績,...
虛幻4 回憶錄
接觸虛幻4約半年的時間,畢業後,也想從事三維開發的崗位,可後來各種原因,進了一家電子支付的企業,因此估計未來的很長時間不會再接觸虛幻4了 主要是由於人機器配置不夠 至今也有快兩個月沒有碰過虛幻4了,憑著記憶,將自己對虛幻4的了解記錄下來。首先說一下虛幻4的版本,在我剛開始接觸虛幻4時,還有兩個版本,...