随笔分类 -  线段树

摘要:题意:输入n,m; n代表1-n的区间,m代表有m个操作。对于每个操作如果先输入1,则输入w,找到区间最左边未被占用的连续长度为w的区间,返回左端点,并把这段区间标记为已被占用。如果整个区间没有找到符合条件的区间。则返回0。如果输入为2,则将这段区间标记为未被占用。解法:维护3个变量sum,lsum... 阅读全文
posted @ 2015-01-20 21:42 Scale_the_heights 阅读(154) 评论(0) 推荐(0)
摘要:区间修改#include #include #include using namespace std;const int MAXN = 100010;struct tree{ int l,r; long long sum,lz;}a[MAXN>1; Build(l,mid,... 阅读全文
posted @ 2014-11-08 18:28 Scale_the_heights 阅读(126) 评论(0) 推荐(0)
摘要:线段树#include #include #include #define N 32010using namespace std;struct tree{ int l,r; int sum;}a[4*N];void build(int l,int r,int k){ a[k].l=... 阅读全文
posted @ 2014-11-08 18:27 Scale_the_heights 阅读(122) 评论(0) 推荐(0)