线段树
二分查找
这个作者很懒,什么都没留下…
展开
-
hdu1754(线段树)
线段树单点更新类型 模板题: #include #include const int N = 200005; int s[N << 2]; int lc[N << 2]; int rc[N << 2]; int num[N]; int n,m; void build(int u ,int l ,int r) { if(l == r) { s[u] = num[l]; lc[u] = r原创 2014-12-28 20:57:02 · 322 阅读 · 0 评论 -
uva12299(线段树)
也是模板线段树. 只是需要对输入进行一些处理. 还有就是修改时候,不是普通的单点修改,要把shift里面的位置按顺序左移一位,第一个变成最后一个,第二个变成第一个. 用for来循环单点修改: #include #include #include using namespace std; const int N = 100005; const int INF = 0x3f3f3f3f原创 2014-12-28 21:10:35 · 395 阅读 · 0 评论 -
hdu1166(线段树 单点更新)
线段树单点更新,裸过题: #include #include #include using namespace std; const int N = 50005; int s[N << 2], lc[N << 2], rc[N << 2]; int num[N], n, m; void build(int u ,int l ,int r) { lc[u] = l; rc[u] =原创 2014-12-28 21:04:25 · 357 阅读 · 0 评论 -
poj3468(线段树-区间修改)
模板题: #include #include #define ll long long const int N = 100000 + 10; ll sum[N << 2]; ll addv[N << 2]; int num[N]; int n,q; void pushUp(int u) { sum[u] = sum[u * 2] + sum[u * 2 + 1]; } void b原创 2015-04-09 20:08:57 · 691 阅读 · 0 评论