线段树
softrice
这个作者很懒,什么都没留下…
展开
-
Hdu 1754——I Hate It
线段树单点更新#include#includeusing 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 · 825 阅读 · 0 评论 -
hdu 4578——Transformation
线段树 #include#include#includeusing 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 · 762 阅读 · 0 评论 -
hdu 1394——Minimum Inversion Number
线段树#include#includeusing 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 · 754 阅读 · 0 评论 -
poj 3264——Balanced Lineup
线段树#include#includeusing 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 · 760 阅读 · 0 评论 -
hdu 4614——Vases and Flowers
线段树线段树太渣了,看别人代码恶补下。http://www.cnblogs.com/aukle/archive/2013/07/26/3217639.html#include#includeusing namespace std;#define maxn 50010#define ls (rt<<1)#define rs (rt<<1|1)#define mid ((t[rt]原创 2013-07-28 14:19:54 · 1004 阅读 · 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 · 748 阅读 · 0 评论 -
uestc 1425——Another LCIS
线段树跟上次做的0 1 反转基本相同http://acm.uestc.edu.cn/problem.php?pid=1425注意:sample输出是没输出case数,害我wa了好多次。。。#include#include#includeusing namespace std;#define ls (rt<<1)#define rs (rt<<1|1)#def原创 2013-07-31 21:36:24 · 861 阅读 · 0 评论 -
hud 1542——Atlantis hdu
扫描线问题第一道扫描线,还是照着别人代码搞了一下。树的内容不多,所以没放进结构体内。map的映射挺方便,效率也不会很差。//0MS 368K G++#include#include#include#include#includeusing namespace std;#define maxn 205#define mid ((l+r)>>1)#d原创 2013-07-31 16:22:17 · 920 阅读 · 0 评论 -
hdu 3911——Black And White
线段树 // 1093MS 10568K G++#include#includeusing 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 · 1195 阅读 · 0 评论 -
hdu 1166——敌兵布阵 (线段树)
基础线段树#include#includeusing 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 · 902 阅读 · 0 评论 -
hdu 4417——Super Mario
线段树+离线处理#include#include#includeusing 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 · 814 阅读 · 0 评论