线段树
取竹
Hai capito?
展开
-
bzoj 1012 [JSOI2008]最大数maxnumber
裸的线段树。。 #include using namespace std; int m,d; struct VV{ int l,r; int ma; }tr[800005]; inline int max(int i,int j) {return i>j?i:j;} void build_tr(int l,int r,int k) { tr[k].l=l;tr[原创 2017-03-14 20:49:01 · 582 阅读 · 0 评论 -
[bzoj] 4373算术天才⑨与等差数列
对于一段l至r的等差序列,一定会满足 ①任意两数间的差定为k的倍数,即是相邻两数差的绝对值的最小公因数=k ②Max-min=(r-l)*k ③无相同元素 那么可以直接用线段树进行维护,并注意l==r的情况 #include #include #define lson (num<<1) #define rson (lson+1) using namespace std;原创 2017-03-26 19:22:01 · 416 阅读 · 0 评论 -
[bzoj] 1067: [SCOI2007]降雨量
这道题也是够了,我调了好几个小时。。 条件判断实在烦,设从x年到y年: maybe:①x,y未知 ②x知y未知,因为y最大与x等,区间中已知没有大于x的 ③y知x未知,区间中已知没有大于y的 ④x,y都知,且x>=y,区间中已知没有大于y的,但x到y此区间中有未知年份 ⑤x,y在边界 true:x,y都知,且x>=y,区间中已知没有大于y的,但x到y此区间中没有未知年份 其余的都是原创 2017-04-21 08:03:10 · 413 阅读 · 0 评论 -
[bzoj]2130: 魔塔
这道题我没想出来,只能看题解,学长的题解都指向了Claris的题解。 貌似维护最小值,次大值会跑的更快?不过我没打。 #include #define C (c=getchar()) using namespace std; const int N=100005,inf=1<<29; int n,m,ans; struct qaq{ int vl,vr,vx,sig; }tr[269505原创 2017-07-06 21:34:19 · 288 阅读 · 0 评论