线段树
TommyTT
我擦,要挂科了。
展开
-
hdu 1166 线段树
初次接触线段树,网上看了很多人的博客才慢慢了解了,还在学习ing 从最简单的单点更新开始 #include #include #include using namespace std; #define MAXN 50010 struct node { int l,r,mid; int sum; }tree[MAXN*4]; int ans; void build(int l,原创 2013-06-07 15:54:42 · 586 阅读 · 0 评论 -
hdu 1698 线段树成段更新
这么重要的数据结构还是得学啊。仿notonlysuccess的代码风格 #include #include #include using namespace std; #define lson l , m , rt << 1 #define rson m + 1 , r , rt << 1 | 1 const int maxn = 100001; int h , w , n; int c原创 2013-07-14 17:17:36 · 798 阅读 · 1 评论 -
Find the minimum线段树成段更新
线段树成段更新原创 2013-07-15 15:09:11 · 883 阅读 · 0 评论 -
wustoj 1260 RMQ with Shifts 线段树单点更新
题目链接:http://wusttest.sinaapp.com/problem.php?id=1260 线段树单点更新,注意cin会超时,记得每次update后还要更新相应数组a的值。 #include #include #include #include using namespace std; #define MAXN 100010 struct node { int l,r原创 2013-11-08 01:02:10 · 1056 阅读 · 0 评论 -
ZOJ 3635 线段树
线段树维护的是区间有多少个空位置,每次查询第X个空位置在哪,sum[rt]>=X就向左区间找,sum[rt] #include #include #include using namespace std; #define lson l , m , rt << 1 #define rson m + 1 , r , rt << 1 | 1 const int maxn = 55555; int原创 2014-05-15 14:36:43 · 750 阅读 · 0 评论 -
wikioi 1282 约瑟夫问题 线段树
和上一题一样,寻找第K个位置,只不过需要处理一下下一个位置在哪,画图看看就知道了。 #include #include #include using namespace std; #define lson l , m , rt << 1 #define rson m + 1 , r , rt << 1 | 1 const int maxn = 30000+5; int sum[maxn<<原创 2014-05-15 16:07:20 · 813 阅读 · 0 评论