http://poj.org/problem?id=2528题目大意是市长竞选要贴海报,给出墙的长度和依次张贴的海报的长度区间(参考题目给的图),问最后你能看见的海报有几张就是有的先贴的海报可能会被后贴的海报完全盖住,那就看不见了这里就非常抽象的区间更新,墙的长度为建立线段树的总区间,每贴一张海报代...
分类:
其他好文 时间:
2015-08-12 18:41:58
阅读次数:
143
http://acm.hdu.edu.cn/showproblem.php?pid=1698这个题意翻译起来有点猥琐啊,还是和谐一点吧和涂颜色差不多,区间初始都为1,然后操作都是将x到y改为z,注意 是改为z,不是加或减,最后输出区间总值也是线段树加lazy操作 1 #include 2 using...
分类:
其他好文 时间:
2015-08-12 18:18:07
阅读次数:
108
#include
#include"cstdio"
#include"string.h"
using namespace std;const int N= 100005;
struct node
{
int left;
int right;
int add;
int sum;
} tree[N*4];int n,m;
int a[N];void...
分类:
其他好文 时间:
2015-08-12 14:47:43
阅读次数:
86
题意:long long data[250001];void A( int st, int nd ) { for( int i = st; i \le nd; i++ ) data[i] = data[i] + (i - st + 1); }void B( int st, int nd ) { fo...
//===========================================
//segment tree
//final version
//by kevin_samuel(fenice)苏州大学孙俊彦
#include
#include
#include
using namespace std;
#define MAXN 100
#define INF 0x3ffff...
分类:
其他好文 时间:
2015-08-10 20:10:50
阅读次数:
92
区间最小值(2)
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 26 Accepted Submission(s) : 9
Font: Times New Roman | Verdana | Georgia
Fo...
分类:
编程语言 时间:
2015-08-10 20:10:49
阅读次数:
164
Color the ball
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12814 Accepted Submission(s): 6401
Problem Description
N个气球排成一排,从...
分类:
其他好文 时间:
2015-08-10 18:10:58
阅读次数:
119
这个题目本来对大神来说可能是水题, 对我就不行了,昨晚非折腾到下半夜一点 搞定, 并且可以总结出 ,只有把问题想清楚,或着看人家解题报告自己把问题和代码思路
搞清楚,才能谈的上调bug,否则根本就不知道错在哪儿。说说这个题目的理解,他是如何转化为线段树问题的呢?我们知道线段树有一个区间更新的东西,每张海报的宽度不就是一个区间么?那么我们可以用一棵树中的部分结点
来表示整张海报的可视部分,也就是...
分类:
其他好文 时间:
2015-08-10 13:37:04
阅读次数:
134
对于线段树的讲解此篇不再赘述,下面列出线段树应用中最常用的几种操作的代码。(具体题目未贴出,仅供有一定基础者参考代码风格)
另外,注意多组输入要写scanf("%d%d",&n,&m)!=EOF,线段树的题肯定要用c语言的输入输出,要使用字符数组,不用字符串,输入字符的时候要加getchar()吞噬空行..
(1)单点增减,区间求和:
#include
#include
#include
#...
分类:
其他好文 时间:
2015-08-09 20:51:55
阅读次数:
158
树状数组详解:
假设一维数组为A[i](i=1,2,...n),则与它对应的树状数组C[i](i=1,2,...n)是这样定义的:
C1 = A1
C2 = A1 + A2
C3 = A3
C4 = A1 + A2 + A3 + A4
C5 = A5
C6 = A5 + A6
.................
C8 = A1 + A2 + A3 + A4 + A5 ...
分类:
编程语言 时间:
2015-08-08 01:24:09
阅读次数:
1180