摘要:
\(\sum d_i <=5*10^7\)一定是解题的突破口;可是,该怎么利用这个条件呢? 不妨更进一步——考虑数据的特征,发现数字的种类是有限的 点击查看代码 #include <bits/stdc++.h> using namespace std; int d[2000005],r[200000 阅读全文
摘要:
容斥原理 将两个字符串拼接起来(中间用‘#’分隔开),再减去它们内部的贡献 height数组支持的最长公共前缀:不仅是长度,也是子串的个数 返回值开long long 核心代码与[AHOI2013] 差异 一致 点击查看代码 #include <bits/stdc++.h> using namesp 阅读全文
摘要:
点击查看代码 #include <bits/stdc++.h> using namespace std; int sa[500005]; int rk[20][500005],w,p[25],r[500005],h[500005]; stack<int>s1; stack<int>s2; long 阅读全文
摘要:
似乎有O(n)的做法,但我想到的是用树状数组维护 注意树状数组维护的值域范围为1~n,(如果需要维护)0要特判 点击查看代码 #include <bits/stdc++.h> using namespace std; const int mod=1000000007; int ne[1000005] 阅读全文