随笔分类 - 数据结构-单调队列、单调栈
摘要:题目链接 "BZOJ3235" 题解 求出每个点为顶点,分别求出左上,左下,右上,右下的矩形的个数 并预处理出表示点到四个角的矩形内合法矩形个数 就可以容斥计数啦 枚举顶点,乘上另一侧矩形个数,如图: 但是会算重,对于这样的情况 减去即
阅读全文
摘要:题目链接 "BZOJ2276" 题解 一开始看错题,以为求的是可以不连续的,想出一个奇怪的线段树,发现空间根本开不下?? 题目要我们求连续的最长可能不下降区间 对于区间如果合法,当且仅当对于显然就不满足不下降性 我
阅读全文
摘要:题目链接 "BZOJ4826" 题解 蒟蒻智力水平捉急orz 我们会发现相邻的和贡献一定是,可以很快算出来【然而我一开始忘了考虑调了半天】 我们现在只考虑不相邻的 我们只需要找出所有产生贡献的即可 我们发现每一个产生贡献的都能对应到一个三元组
阅读全文
摘要:题目链接 "BZOJ3238" 题解 简单题 经典后缀数组 + 单调栈套路,求所有后缀
阅读全文
摘要:题目链接 "BZOJ1233" 题解 有一个贪心策略:同样的干草集合,底长小的一定不比底长大的矮 设表示形成的干草堆的最小底长,同时用记录此时的高度 那么 $$f[i] = min\{f[j]\} \quad [sum[j 1] sum[i 1] \ge f[j
阅读全文
摘要:题目 给定长度为n的序列:a1,a2,…,an,记为a[1:n]。类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,ar 1,ar。若1≤l≤s≤t≤r≤n,则称a[s:t]是a[l:r]的子序列。现在有q个询问,每个询问给定两个数l和r,1≤l≤r ≤n,求a[l:r]的不同子序
阅读全文