乙個初始為空的串,每次在末尾插入乙個字元,每次插入後問字串中本質不同的子串的個數。字元值域1e9。
字尾自動機
因為值域很大,所以改用map維護轉移的字元。
另外好像字尾陣列也可以做,加點什麼平衡樹也可以做,不過我這種方法應該**最好寫、最短(裡面有一些map的find、insert操作可以在訪問空節點的時候變快)。
#include#include#includeusing namespace std;
typedef long long ll;
const int maxn=200010;
ll ans;
int n,m,tot,lst;
struct sam
a[maxn];
int read()
void sam_insert(int c)
} ans+=a[u].len-a[a[u].fa].len;
}int main()
return 0;
}
bzoj4516 SDOI2016 生成魔咒
time limit 10 sec memory limit 128 mb submit 376 solved 232 submit status discuss 魔咒串由許多魔咒字元組成,魔咒字元可以用數字表示。例如可以將魔咒字元 1 2 拼湊起來形成乙個魔咒串 1,2 乙個魔咒串 s 的非空字串...
bzoj4516 Sdoi2016 生成魔咒
4516 sdoi2016 生成魔咒 time limit 10 sec memory limit 128 mb submit 575 solved 327 submit status discuss 魔咒串由許多魔咒字元組成,魔咒字元可以用數字表示。例如可以將魔咒字元 1 2 拼湊起來形成乙個魔咒...
bzoj 4516 Sdoi2016 生成魔咒
time limit 10 sec memory limit 128 mb submit 1026 solved 576 submit status discuss 魔咒串由許多魔咒字元組成,魔咒字元可以用數字表示。例如可以將魔咒字元 1 2 拼湊起來形成乙個魔咒串 1,2 乙個魔咒串 s 的非空字...