单调队列
文章平均质量分 80
DZYO
Never stop
展开
-
BZOJ3238: [Ahoi2013]差异(后缀数组)
传送门题意: 给定字符串S,求∑1≤i<j≤nlen(suffix(i))+len(suffix(j))−lcp(suffix(i),suffix(j))\sum_{1\le i<j\le n}len(suffix(i))+len(suffix(j))-lcp(suffix(i),suffix(j)) 题解:后缀数组 首先前面的一部分,每个后缀被枚举的次数为n−1n-1,所以前部分的贡献为(n原创 2017-08-26 20:43:39 · 385 阅读 · 0 评论 -
Codeforces Round #441 Div. 2 E,F
E: 传送门题意: 给nn个由11~ mm数字组成的字符串(n,m≤1e5)(n,m\le 1e5),每个字符串长度为li(∑ili≤1e5)l_i(\sum\limits_{i}l_i\le 1e5)。字典序大小满足小写比大写都大。现在可以改变任意数字的大小写,满足所有前面的串字典序小等于后面的串。题解: 首先考虑怎么满足一个串比后面所有的都要小?是一个一个判断,还是有别的方法。其实只要保证原创 2017-10-17 22:37:53 · 292 阅读 · 0 评论 -
BJ模拟:矩阵(单调队列)
传送门 题解: 好题啊。。 我们可以枚举起始行然后做单调队列。 注意直接计算贡献是n3n3n^3的,不过我们可以加入元素时不计算贡献,在弹掉元素时只计算它和前面一个的贡献,剩下的贡献和后面的一起算,时间复杂度为O(n2)O(n2)O(n^2)。 #include <bits/stdc++.h> #include <tr1/unordered_map> usin...原创 2018-04-11 19:25:44 · 398 阅读 · 0 评论