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