又是被水題坑了。。。
一直想不出來看題解說要什麼主席樹,於是開始打離線演算法
發現直接ac自動機似乎可做?樹剖之後在ac自動機上跑的時候判斷一下不就好了嗎!連線段樹都不要
讓後快樂切掉,速度還可以(廢話,人家n^2暴力都跑得飛快)
#pragma gcc opitmize("o3")
#pragma g++ opitmize("o3")
#include
#include
#include
#include
#define vs (*s-'a')
#define n 100010
using
namespace
std;
struct acautomation
inline
void insert(char* s,int pos)
inline
void build()
} inline
int query(char* s,int l,int r)
} return ans;
}}ac;
char s[n][12],c[n];
struct edge g[n<<1];
int h[n],d[n],f[n],top[n],son[n],sz[n];
int l[n],r[n],n,m,cnt=0,clk=0,t;
inline
void adj(int x,int y); h[x]=cnt;
g[++cnt]=(edge); h[y]=cnt;
}void dfs(int x,int p)
int glca(int x,int y,char* s)
if(d[x]>d[y]) x^=y^=x^=y;
return max(ans,ac.query(s,l[x],l[y]));
}int main()
}
9011 打擊犯罪
time limit 1 second memory limit 128 mb 某個地區有n n 1000 個犯罪團夥,當地 按照他們的危險程度由高到低給他們編號為1 n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或者間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險...
SSLOJ2342 打擊犯罪
某個地區有n n 1000 個犯罪團夥,當地 按照他們的危險程度由高到低給他們編號為1 n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險程度唯一由集團內的犯罪團夥數量確定,而與單個犯罪團夥的危險程度無關 該犯罪集團的危...
codevs5971 打擊犯罪
題目描述 description 某個地區有n n 1000 個犯罪團夥,當地 按照他們的危險程度由高到低給他們編號為1 n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險程度唯一由集團內的犯罪團夥數量確定,而與單個犯罪...