poj解题报告
wenzhuanglin
这个作者很懒,什么都没留下…
展开
-
poj1724 ROADS
题目的意思:给出一定的钱,从1到N,每走一条路径都需要一定的花费,问从1到N在花费不超过的情况下,最短路径。 这题可以用深搜来做,也可以用dijkstra的优先队列来做深搜的方法:#include #include #include int K , N ,原创 2011-10-06 10:04:35 · 267 阅读 · 0 评论 -
poj 3264 Balanced Lineup
这题是求区间的最大值和最小值,保存每个区间的最大值和最小值!很水的一道线段树的题。1A!太爽了,哈哈!!#include#include#define Max 50010struct node{ int l,r; int min; int max;}tree[4*Max];int s[Max];int max,min;void build(i原创 2011-11-11 21:03:28 · 213 阅读 · 0 评论 -
poj 3368 Frequent values
这题的数据结构比较多,要保存区间内最左边的数与其出现的次数,最右边的数与其出现的次数,还要保存区间出现的次数最多的值!!刚开始题意理解错了,以为求区间出现次数最多的数!郁闷,都怪自己太心急了,写了半天,调试的时候才知道错了!题意只要求出区间的数出现的频率的最大值,这就简单多了!!#include#include#define Max 100010struct node{原创 2011-11-12 10:49:06 · 246 阅读 · 0 评论 -
poj 3468 A Simple Problem with Integers
最近这几天在学习线段树,这是线段树题,不能一步更新到位,这样会超时,只能成段更新!wa了我好几次,增量a要用int64,悲剧啊!!!#include#include#define Max 100010struct node{ int l,r; int num; __int64 a;//要用__int64 __int64 sum;//}tree原创 2011-11-11 13:21:36 · 241 阅读 · 0 评论 -
poj 2777 Count Color
这题是线段覆盖!注意父亲节点性质的传递,如果父亲的颜色被破坏,要传递它的颜色给孩子!!1A,爽歪歪!!keep on!!#include#include#include#define Max 100010struct node{ int l,r; int num;}tree[4*Max];int s[Max];int flag[50];int原创 2011-11-11 20:24:30 · 268 阅读 · 0 评论 -
poj 3667 hotel
搞了一个下午,终于搞定了,这题是线段树的区间合并!以前有做过类似的题目,所以还是有点感觉的!在统计区间的时候,看了一下别人的统计方法!终于写出来的!呵呵!!#include#include#include#define Max 50005struct node{ int l,r; int rsum,lsum;//从最左端连续的区间数,从右端到末端的区间数原创 2011-12-04 21:59:13 · 279 阅读 · 0 评论 -
poj 1151 Atlantis
此题是求矩形面积的并,要用到线段树+离散化+扫描线这题很久以前就看了,但是就是理解不了,没去写!看了大牛们的代码来理解,终于搞定了!这题有两种方法第一种是离散化到X轴上建立线段树第二种是离散化到Y轴建立线段树我的就离散化到X轴的!#include#includeusing namespace std;#define Max 2005struct lnod原创 2011-12-08 21:32:17 · 290 阅读 · 0 评论 -
poj 2528 Mayor's posters
这题纠结了我两天,终于AC了,在网上说有个bug,普通的离散化会下面这组数据会过不了1 101 46 10普通的离散化结果是2。但是真正的答案是3。这是我的代码,要离散的是边界的编号,而不是区间的编号!#include#includeusing namespace std;const int Max=20005;int ans,m,n;int p原创 2011-12-03 09:51:28 · 226 阅读 · 0 评论 -
poj 1177 Picture
//思路:分别映射到x,y轴,然后分别用一条扫描线对x,y轴扫一遍#include#include#includeusing namespace std;#define N 10005struct line2{ int x1,y1,y2; int flag;}q2[N];struct line1{ int y1,x1,x2; int flag原创 2011-12-25 13:30:32 · 335 阅读 · 0 评论