![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
softrice
这个作者很懒,什么都没留下…
展开
-
Hdu 1754——I Hate It
线段树 单点更新 #include #include using namespace std; struct Node { int left; int right; int max; }node[200000*4]; int Max(int a,int b) { return a>b?a:b; } void TreeMake(int l,int r,int i) { nod原创 2013-05-30 22:23:23 · 805 阅读 · 0 评论 -
hdu 4578——Transformation
线段树 #include #include #include using namespace std; #define maxn 110000 #define INF 100000000 #define mod 10007 #define ls (rt<<1) #define rs (rt<<1|1) #define mid ((t[rt].l+t[rt].r)>>1)原创 2013-08-11 15:03:41 · 738 阅读 · 0 评论 -
hdu 1394——Minimum Inversion Number
线段树 #include #include using namespace std; #define maxn 5010 #define ls (rt<<1) #define rs (rt<<1|1) #define mid ((t[rt].l+t[rt].r)>>1) struct tree { int l,r; int sum; }t[maxn<<4]; int num[maxn]; v原创 2013-07-28 16:06:16 · 731 阅读 · 0 评论 -
poj 3264——Balanced Lineup
线段树 #include #include using namespace std; #define maxn 50004 #define ls (rt<<1) #define rs (rt<<1|1) #define mid ((t[rt].l+t[rt].r)>>1) struct tree { int l,r; int max,min; }t[maxn<<2]; int n,m; vo原创 2013-07-28 17:28:56 · 731 阅读 · 0 评论 -
hdu 4614——Vases and Flowers
线段树 线段树太渣了,看别人代码恶补下。http://www.cnblogs.com/aukle/archive/2013/07/26/3217639.html #include #include using namespace std; #define maxn 50010 #define ls (rt<<1) #define rs (rt<<1|1) #define mid ((t[rt]原创 2013-07-28 14:19:54 · 986 阅读 · 0 评论 -
hdu 4638——Group
线段树 题意为询问一段区间里的数能组成多少段连续的数。先考虑从左往右一个数一个数添加,考虑当前添加了i - 1个数的答案是x,那么添加完i个数后的答案是多少?可以看出,是根据a[i]-1和a[i]+1是否已经添加而定的,如果a[i]-1或者a[i]+1已经添加一个,则段数不变,如果都没添加则段数加1,如果都添加了则段数减1。设v[i]为加入第i个数后的改变量,那么加到第x数时的段数就是sum{v原创 2013-08-02 00:34:46 · 731 阅读 · 0 评论 -
uestc 1425——Another LCIS
线段树 跟上次做的0 1 反转基本相同 http://acm.uestc.edu.cn/problem.php?pid=1425 注意:sample输出是没输出case数,害我wa了好多次。。。 #include #include #include using namespace std; #define ls (rt<<1) #define rs (rt<<1|1) #def原创 2013-07-31 21:36:24 · 847 阅读 · 0 评论 -
hud 1542——Atlantis hdu
扫描线问题 第一道扫描线,还是照着别人代码搞了一下。 树的内容不多,所以没放进结构体内。 map的映射挺方便,效率也不会很差。 //0MS 368K G++ #include #include #include #include #include using namespace std; #define maxn 205 #define mid ((l+r)>>1) #d原创 2013-07-31 16:22:17 · 896 阅读 · 0 评论 -
hdu 3911——Black And White
线段树 // 1093MS 10568K G++ #include #include using namespace std; #define maxn 100005 #define ls (rt<<1) #define rs (rt<<1|1) #define mid ((t[rt].l+t[rt].r)>>1) int n,m; struct tree { int l,r; in原创 2013-07-31 01:52:29 · 1180 阅读 · 0 评论 -
hdu 1166——敌兵布阵 (线段树)
基础线段树 #include #include using namespace std; struct Node { int l,r; int sum; int Mid(){return (l+r)/2;} }tree[50010*4]; void build(int rt,int left,int right) { tree[rt].l=left; tree[rt].原创 2013-07-08 20:23:29 · 883 阅读 · 0 评论 -
hdu 4417——Super Mario
线段树+离线处理 #include #include #include using namespace std; #define maxn 110000 #define ls (rt<<1) #define rs (rt<<1|1) #define mid ((t[rt].l+t[rt].r)>>1) int n,m; struct tree { int l,r;原创 2013-10-10 16:48:32 · 796 阅读 · 0 评论