
线段树
文章平均质量分 87
「已注销」
这个作者很懒,什么都没留下…
展开
-
HDU1166_敌兵布阵(线段树/单点更新)
解题报告题意:略思路:线段树单点增减和区间求和。#include #include #include #define LL long longusing namespace std;int sum[201000];void update(int root,int l,int r,int p,int v){ int mid=(l+r)/2; if(l原创 2014-08-07 21:32:22 · 1173 阅读 · 0 评论 -
POJ3468_A Simple Problem with Integers(线段树/成段更新)
解题报告题意:略思路:线段树成段更新,区间求和。#include #include #include #define LL long long#define int_now int l,int r,int rootusing namespace std;LL sum[500000],lazy[500000];void push_up(int root,int l,原创 2014-08-08 21:44:43 · 1414 阅读 · 0 评论 -
POJ3264_Balanced Lineup(线段树/单点更新)
解题报告题意:求区间内最大值和最小值的差值。思路:裸线段树,我的线段树第一发。#include #include #include #define inf 99999999#define LL long longusing namespace std;LL minn[201000],maxx[201000];void update(LL root,LL l,LL原创 2014-08-07 20:45:34 · 1045 阅读 · 0 评论 -
HDU1754_I Hate It(线段树/单点更新)
解题报告题意:略思路:单点替换,区间最值#include #include #include #define inf 99999999using namespace std;int maxx[808000];void update(int root,int l,int r,int p,int v){ int mid=(l+r)/2; if(l==原创 2014-08-07 21:53:54 · 1181 阅读 · 0 评论 -
HDU1698_Just a Hook(线段树/成段更新)
解题报告题意:原本区间1到n都是1,区间成段改变成一个值,求最后区间1到n的和。思路:线段树成段更新,区间去和。#include #include #include using namespace std;int sum[500000],lz[500000];void push_up(int root,int l,int r){ sum[root]=sum原创 2014-08-09 10:43:58 · 1503 阅读 · 0 评论 -
HDU3074_Multiply game(线段树/单点更新)
解题报告题意:略思路:单点更新,区间乘积。#include #include #include #define LL long longusing namespace std;LL mul[501000];void update(int root,int l,int r,int p,int v){ int mid=(l+r)/2; if(l==r)原创 2014-08-08 08:14:55 · 1131 阅读 · 0 评论 -
POJ训练计划2299_Ultra-QuickSort(线段树/单点更新)
解题报告题意:求逆序数。思路:线段树离散化处理。#include #include #include #include #define LL long longusing namespace std;LL sum[2001000],num[501000],_hash[501000];void push_up(int rt){ sum[rt]=sum[rt原创 2014-08-10 23:37:08 · 2690 阅读 · 0 评论 -
POJ2352_Stars(线段树/单点更新)
解题报告题意:求在坐标系中原创 2014-08-09 19:15:42 · 2387 阅读 · 0 评论 -
POJ训练计划2528_Mayor's posters(线段树/成段更新+离散化)
解题报告地址传送门题意:一些海报,覆盖上去后还能看到几张。思路:第一道离散化的题。离散化的意思就是区间压缩然后映射。给你这么几个区间[1,300000],[3,5],[6,10],[4,9]区间左右坐标排序完就是1,3,4,5,6,9,10,300000;1,2,3,4,5,6, 7 ,8;我们可以把上面的区间映射成[1,8],[2,4],[5,7],[原创 2014-08-10 15:21:26 · 34355 阅读 · 1 评论 -
HDU2852_KiKi's K-Number(线段树/单点更新)
解题报告题目传送门题意:意思很好理解。思路:每次操作是100000次,数据大小100000,又是多组输入。普通模拟肯定不行。线段树结点记录区间里存在数字的个数,加点删点操作就让该点个数+1,判断x存在就查询[1,x]区间的个数和[1,x-1]的个数。求x之后第k大的数就先确定小于x的个数t,第t+k小的数就是要求的。#include #include #incl原创 2014-08-10 21:16:26 · 2297 阅读 · 0 评论 -
ZOJ1610_Count the Colors(线段树/成段更新)
解题报告题意:一根长度8000的线段上染色,求染完之后,每个颜色在线段上有多少个间断的区间。思路:区间问题用线段树,成段的更新区间,最后把所有的区间下压到叶子结点,统计叶子结点的颜色。#include #include #include using namespace std;int lz[32000],_hash[10000],color[10000],cnt;v原创 2014-08-11 03:05:36 · 8354 阅读 · 1 评论