摘要: 这里我选择了一种在线的树状数组的写法,有三个log,比较好写但是跑的比较慢,吸氧才能过 其实和一维的没有区别,都是整体二分值域的思想 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=4e5+ 阅读全文
posted @ 2020-04-29 22:04 朝暮不思 阅读(156) 评论(0) 推荐(0)
摘要: 动态修改的整体二分模板,整体二分天然支持修改 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=3e5+10; struct node{ int op,x,y,k,id; }q[N],lq[N 阅读全文
posted @ 2020-04-29 20:32 朝暮不思 阅读(145) 评论(0) 推荐(0)
摘要: 这题比较经典,我们想要求比他小的最远的点 因此我们发现,如果一个点比他前面的点大还比他近,说明这个点永远不会作为答案 因此我们就可以维护一个单调队列,之后二分找到第一个大于等于他的位置在哪,之后这个位置的前一个就是答案 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2020-04-29 16:36 朝暮不思 阅读(218) 评论(0) 推荐(0)
摘要: 暴力想法肯定是遍历一遍x的取值范围看看哪个最小,问题就是如何看哪个最小 一个直观的思路是,首先值的变化分为三种,一个是不变,一个是变一个,一个是变两个 不变就是相加为x,那么我们可以想到,能变一个就成说明,我至多变一个的取值范围要包括x,因此只要求一下取值范围就变成了覆盖问题 这种问题可以用差分解决 阅读全文
posted @ 2020-04-29 14:55 朝暮不思 阅读(219) 评论(0) 推荐(0)