![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
二分查找
这个作者很懒,什么都没留下…
展开
-
hdu1754(线段树)
线段树单点更新类型 模板题:#include#includeconst 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 · 328 阅读 · 0 评论 -
uva12299(线段树)
也是模板线段树.只是需要对输入进行一些处理.还有就是修改时候,不是普通的单点修改,要把shift里面的位置按顺序左移一位,第一个变成最后一个,第二个变成第一个.用for来循环单点修改:#include#include#includeusing namespace std;const int N = 100005;const int INF = 0x3f3f3f3f原创 2014-12-28 21:10:35 · 403 阅读 · 0 评论 -
hdu1166(线段树 单点更新)
线段树单点更新,裸过题:#include#include#includeusing 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 · 364 阅读 · 0 评论 -
poj3468(线段树-区间修改)
模板题:#include#include#define ll long longconst 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 · 698 阅读 · 0 评论