区间覆盖问题,刘汝佳小白书P154页有详细思路;
代码如下:
#include
#include
#include
#include
using namespace std;
typedef struct
{
int x,y;
}P;
P p[110000];
int cmp(P p1,P p2)
{
if(p1.x==p2.x)
...
分类:
其他好文 时间:
2014-11-20 13:47:41
阅读次数:
177
poj 2528 Mayor's posters(动态线段树)
题目大意:
给定一个 1 ~ 10000000 的区间,然后有N次操作(N <= 10000),第i次操作是将 l~r 区间覆盖为i。问最后一共有多少种有颜色。
解题思路:
一开始想到了离散化,但是想了一想感觉有点麻烦 然后就问专职搞数据结构的队友。然后他说了 动态线段树。思路如下:
定义一个ID。然后 根节点1表示掌管1-MAXN颜色的区间。然后每次都是动态的建树。当一个区间的左子区间还不存在时。建立它,并且记录下每个区间的左子区间和右子区间...
分类:
其他好文 时间:
2014-11-09 18:11:55
阅读次数:
200
POJ 3422 Kaka's Matrix Travels
题目链接
题意:一个矩阵,从左上角往右下角走k趟,每次走过数字就变成0,并且获得这个数字,要求走完之后,所获得数字之和最大
思路:有点类似区间k覆盖的建图方法,把点拆了,每个点有值的只能选一次,其他都是无值的,利用费用流,入点出点之间连一条容量1,有费用的边,和一条容量k - 1,费用0的边,然后其他就每个点和右边和下...
分类:
其他好文 时间:
2014-11-08 00:51:48
阅读次数:
227
POJ 3762 The Bonus Salary!
题目链接
题意:给定一些任务,每个任务有一个时间,有k天,一个时间只能执行一个任务,每个任务有一个价值,问怎么安排能得到最多价值
思路:典型的区间k覆盖问题
代码:
#include
#include
#include
#include
#include
#include
using namespace...
分类:
其他好文 时间:
2014-11-07 13:09:23
阅读次数:
176
POJ 3680 Intervals
题目链接
题意:给定一些区间,每个区间有一个权值,要求用这些区间去覆盖,每个点最多覆盖k次,问最多得到权值多少
思路:典型的区间k覆盖问题,区间连边容量1,代价-w,然后其他点相邻两两连边,容量k,代价0,跑一下费用流即可
代码:
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-11-07 01:03:13
阅读次数:
169
1、独立区间问题在N个区间里找出最多的互不覆盖的区间对结束点进行排序,然后从结束点最小的区间开始进行选择即可2、覆盖区间问题给一个大区间,再给出N个小区间,求出最少用多少个区间可以把大区间覆盖完先选出开始的一个,然后选开始点在这个区间里结束点最大的区间,然后以次类推3、区间的最小点覆盖给出N个区间,...
分类:
其他好文 时间:
2014-11-05 22:50:58
阅读次数:
207
1、独立区间问题在N个区间里找出最多的互不覆盖的区间对结束点进行排序,然后从结束点最小的区间开始进行选择即可2、覆盖区间问题给一个大区间,再给出N个小区间,求出最少用多少个区间可以把大区间覆盖完先选出开始的一个,然后选开始点在这个区间里结束点最大的区间,然后以次类推3、区间的最小点覆盖给出N个区间,...
分类:
其他好文 时间:
2014-11-04 08:07:02
阅读次数:
127
区间选点+区间覆盖
区间选点问题(选择最少的点,使得每个区间都至少有k个点)
将这些区间[l,r]先按照r从小到大排序,再按照l从大到小排序。选点尽量选择靠近右边界的点。然后按照这个排序后的区间进行遍历,用一个变量来存放遍历过程中上个区间的右边界,然后碰到一个新的区间的时候需要分两种情况讨论:1、这个区间和上个区间有相交的部分,那么就需要判断一下上次选择的点有多少在这个区间内,这些...
分类:
其他好文 时间:
2014-10-31 06:27:33
阅读次数:
306
http://acm.hdu.edu.cn/showproblem.php?pid=4509题目大意: 中文意义,应该能懂。解题思路: 因为题目给的时间是一天24小时,而且还有分钟。为了解题方便,我们将小时换成分钟,那么一天24小时,总共有1440分钟。顾我就可以把一天里的任意HH:MM时间换成.....
分类:
其他好文 时间:
2014-10-20 23:10:33
阅读次数:
234
喷水装置(二)时间限制:3000 ms | 内存限制:65535 KB 难度:4描述有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n#include #include #include using namespace std;struct node{ double l;...
分类:
其他好文 时间:
2014-10-14 23:06:29
阅读次数:
289