
acm线段树
文章平均质量分 80
JustSteps
这个作者很懒,什么都没留下…
展开
-
hdu4217
#include#include#include#define N 262144using namespace std;struct btree{ int l,r,len;};btree tree[N*3];void buildtree(int p,int left,int right){ int w,mid; tree[p].l=left; t原创 2013-03-14 23:14:24 · 779 阅读 · 0 评论 -
hdu 1542 线段树+扫描线+离散化~~
第一道额~~理解了好久~思路基本都是网上的~#include #include #include #include #include #define lson pos<<1#define rson pos<<1|1using namespace std;const int MAXN=1000005;struct line{ double l,r,h; i原创 2013-07-29 12:48:38 · 869 阅读 · 0 评论 -
hdu 2871 线段树+区间合并 好题
很综合的一道题额~考二分 不过 没用在线段树上~~#include #include #include #include #define lson pos<<1#define rson pos<<1|1using namespace std;const int MAXN=50005;int blocks[MAXN*2];struct node{ int l,r;原创 2013-07-28 16:30:27 · 1048 阅读 · 0 评论 -
hdu 3397 线段树+区间合并+懒惰标记 好题
Sequence operationTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4603 Accepted Submission(s): 1338Problem Descriptionlxhgww原创 2013-07-28 13:51:03 · 1330 阅读 · 1 评论 -
hdu3308 线段树 区间合并
~~#include #include #include #define lson pos<<1#define rson pos<<1|1using namespace std;const int MAXN=100005;struct node{ int l,r; int msum; int lsum,rsum; int mid() {原创 2013-07-27 17:39:08 · 720 阅读 · 0 评论 -
hdu 4027 线段树
Can you answer these queries?Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 6849 Accepted Submission(s): 1566Problem Description原创 2013-07-27 12:58:41 · 1017 阅读 · 0 评论 -
hdu 3577 线段树,成段更新
这个题有一点要考虑到,就是某人从a站坐到b站,他在b站就下车了,他在车上乘坐的区间为a到b-1。#include #include #include using namespace std;const int MAXN=1000005;struct node{ int l,r; int sum; int lazy; int mid() {原创 2013-07-27 10:54:22 · 902 阅读 · 0 评论 -
hdu 4614 线段树+二分~
Vases and FlowersTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 728 Accepted Submission(s): 251Problem Description Alice is原创 2013-07-27 09:14:54 · 1391 阅读 · 0 评论 -
poj3667 线段树+区间合并
第一道额~~#include #include #include using namespace std;const int MAXN=100005;struct node{ int l,r; int lsum,rsum,msum; int mid() { return (l+r)>>1; }};node tree[MAX原创 2013-07-27 15:58:13 · 689 阅读 · 0 评论 -
hdu 3265 线段树+扫描线
虽然也是矩形面积并~但让我更深刻了理解了~~本来想的是将大矩形正常打标记,将小矩形反向打标记就是下面的是-1上面是1~~发现样例过不去~~发现思想错了~~~只能分割成小矩形~~#include #include #include #include #define lson pos<<1#define rson pos<<1|1using namespace std;con原创 2013-07-29 18:43:41 · 1135 阅读 · 0 评论 -
经典 hdu1556 线段树
http://acm.hdu.edu.cn/showproblem.php?pid=1556感觉对线段树还不是很熟练,通过此题学到这种结构体设置方法(线段树的关键就是在结构体的设置),如果对区间内所有元素做同样操作,只需对线段树上对应区间操作即可。否则如果对所有元素操作,会超时,但进行query()要计算到叶子节点。#include#include#include#define原创 2013-03-16 22:31:16 · 657 阅读 · 0 评论 -
hdu1698
http://acm.hdu.edu.cn/showproblem.php?pid=1698~~超时。。看了别人代码把 update顺序改变就过了~~~~只怪自己学的太水~#include#include#include#define N 100000using namespace std;struct node{ int l,r; int color; int mi原创 2013-03-16 21:21:43 · 750 阅读 · 0 评论 -
hdu1754
http://acm.hdu.edu.cn/showproblem.php?pid=1754#include#include#include#define N 200000using namespace std;struct node{ int l,r,max; int mid() { return (l+r)>>1; }};node tree[N*3];void原创 2013-03-16 17:58:30 · 1219 阅读 · 0 评论 -
hdu1166线段树
#include#include#include#define N 50000using namespace std;struct node{ int l,r; long long sum;};node tree[N*3];void buildtree(int l,int r,int pos){ tree[pos].l=l; tree[pos].r=r; if(l==原创 2013-03-16 16:44:15 · 1925 阅读 · 0 评论 -
hdu 1828 线段树+扫描线
矩形周长和~#include #include #include #include #define lson pos<<1#define rson pos<<1|1using namespace std;const int MAXN=30000;struct line{ int l,r,h,f; line(int a=0,int b=0,int c=0,int原创 2013-07-29 15:52:03 · 1141 阅读 · 0 评论