摘要:
[TOC] BZOJ4300 绝世好题 [题目传送门][1] 题解 比较简单的$DP$,记$f[i]$表示第$i$位为1,最长的长度为多少。只需要枚举每一个数字,对于这个数字二进制下为1的那一位进行更新就行了。 code include using namespace std; typedef lo 阅读全文
摘要:
[TOC] BZOJ1500 维修数列 [题目传送门][1] 题解 一道比较全的平衡树题目,操作比较多,注意一下如果不回收节点的话可能会$MLE$,手写个内存池就行了 code include using namespace std; typedef long long ll; bool Finis 阅读全文
摘要:
[TOC] BZOJ2160 拉拉队排练 [题目传送门][1] 题解 比较裸的回文自动机题目。构建出回文自动机之后,就可以把所有回文子串的长度记录下来,然后$sort$一下,选出前$K$个,然后快速幂计算答案就行了。 code include using namespace std; typedef 阅读全文
摘要:
[TOC] BZOJ2342[SHOI2011]双倍回文 [题目传送门][1] 题解 其实是manacher的题目,但是也是可以用回文自动机做的。构建出回文自动机之后,就可以在回文数上进行DP,如果一个点代表的回文串的长度为4的倍数,并且存在长度为它一半的后缀,就是一个满足答案的回文串。关键就在于如 阅读全文
摘要:
KdTree模板 code: include using namespace std; typedef long long ll; bool Finish_read; templateinline void read(T &x){Finish_read=0;x=0;int f=1;char ch=g 阅读全文
摘要:
替罪羊树模板 Code(指针版): Code(数组版): cpp include using namespace std; typedef long long ll; bool Finish_read; templateinline void read(T &x){Finish_read=0;x=0 阅读全文
摘要:
后缀自动机模板 code: 阅读全文
摘要:
回文自动机模板 code: include using namespace std; typedef long long ll; bool Finish_read; templateinline void read(T &x){Finish_read=0;x=0;int f=1;char ch=ge 阅读全文
摘要:
主席树模板 code: include using namespace std; typedef long long ll; bool Finish_read; templateinline void read(T &x){Finish_read=0;x=0;int f=1;char ch=getc 阅读全文
摘要:
FFT模板 code: include using namespace std; typedef long long ll; bool Finish_read; templateinline void read(T &x){Finish_read=0;x=0;int f=1;char ch=getc 阅读全文