http://acm.hdu.edu.cn/showproblem.php?pid=5009题意:一个数列,每个点代表一种颜色,每次选一个区间覆盖,覆盖的代价是区间内颜色种类数的平方,直到覆盖整个数列,求最小花费思路:首先合并颜色相同的点,接着离散化颜色,做dp,dp[i]表示取到位置i的最小花费,...
分类:
其他好文 时间:
2014-10-03 23:11:15
阅读次数:
277
UVA 1317 - Concert Hall Scheduling
题目链接
题意:现在有两个音乐厅,有一些人要租用,每次租一个区间的时间,给w钱,要求一个租的方案使得总收入最大,问总收入
思路:区间k覆盖问题,一个左闭右开区间可以建一条边,容量为1,代价为-w(因为要求最大),然后区间每个[i, i + 1]建一条边,容量2,代价0,然后跑一下费用流即可
代码:
...
分类:
其他好文 时间:
2014-09-25 17:37:19
阅读次数:
197
题意:
给出R,G,B三种颜色的矩形的数据,求最后7种颜色(R,G,B,RG,RB,GB,RGB)的面积是多少?
分析:
显然的线段树扫描线,可以说这题非常考验对线段树扫描线的理解,如果只会用模板,恐怕很难做出来。
R,G,B三种颜色最后会产生7种颜色(无色不算),可以预见本题对编码质量要求相当之高。
update()操作和一般的线段树扫描线并无太大的不同,本题的精髓在于query()!
一般的简单扫描线甚至不用写query,因为根结点维护的区间覆盖长度就是我们所需要的。但是本题需要从复杂的信息中分出7种信...
分类:
其他好文 时间:
2014-09-24 02:57:55
阅读次数:
213
题目:HDU4883TIANKENG’s restaurant
题目大意:一间餐厅,给你每组客人的人数和来的时间,离开的时间,问最少需要的椅子。
解题思路:这题本来想用区间覆盖做,可是后面发觉不太对。这题貌似暴力也是可以过的,因为时间才1440.其中的一种做法:把每个区间的开始和结束时间点都标记上是来人还是走人,对应的椅子数加上减去。然后在枚举一下时间,在这个过程中维护椅子的最...
分类:
其他好文 时间:
2014-09-02 10:31:44
阅读次数:
181
和 Uva 10020几乎是一样的,不过这里要把圆形区域转化为能够覆盖的长条形区域(一个小小的勾股定理)学习一下别人的代码,练习使用STL的vector容器这里有个小技巧,用一个微小量EPS来弥补浮点运算中的误差 1 //#define LOCAL 2 #include 3 #include 4.....
分类:
其他好文 时间:
2014-09-01 19:15:03
阅读次数:
262
题意:数轴上有n个闭区间[ai, bi],选择尽量少的区间覆盖一条指定线段[0, m]算法:[start, end]为已经覆盖到的区间这是一道贪心把各个区间先按照左端点从小到大排序,更新start为end,如果区间1在start的右端,则无解,因为其他区间更不可能覆盖到然后在剩下的能覆盖到start...
分类:
其他好文 时间:
2014-09-01 19:08:13
阅读次数:
257
http://acm.timus.ru/problem.aspx?space=1&num=1303
给出一些区间,选择尽量少的区间能覆盖到[0,m]。
小白p154,典型的区间覆盖问题。一直在想怎么dp。。
首先预处理,先按左端点从小到大排序,若左端点相同右端点从大到小排序,若区间x完全包含y,按照贪心的思想,y是没有意义的,有大区间可以选何必选择小区间。处理完事之后各个区间满足a1...
分类:
其他好文 时间:
2014-08-26 23:03:26
阅读次数:
414
题目大意:
平面直角坐标系中有一些点代表着一些城市。国家要在(0,0)点设置中心车站并向建设地铁线路,但要求线路是直线。某个城市可以使用地铁线路的前提是它与线路的直线距离不超过d。问最少建设多少条线路才能让所有的城市都能使用地铁。
解题思路:
扫描线+最小区间覆盖。
如图所示:对于任何一个点,都有一个铁路允许的设立的角度区间,在d固定的情况下,点距离原点越远区间越小。
因...
分类:
其他好文 时间:
2014-08-26 19:41:06
阅读次数:
251
开始没看懂题,看懂了之后也不知道如何用线段树来做这题,百度了一下思路
思路:
我们一个一个操作来分析:(用0和1表示是否包含区间,-1表示该区间内既有包含又有不包含)
U:把区间[l,r]覆盖成1
I:把[-∞,l)(r,∞]覆盖成0
D:把区间[l,r]覆盖成0
C:把[-∞,l)(r,∞]覆盖成0 , 且[l,r]区间0/1互换
S:[l,r]区间0/1互换
还有要注意的地...
分类:
其他好文 时间:
2014-08-25 22:53:45
阅读次数:
202
题意:。。。
这道题就是区间问题三种中的区间完全覆盖问题,不懂的可以看我上一篇也是区间完全覆盖。
直接上代码:
#include
#include
#include
using std::sort;
struct node{
double le, ri;
}s[1005];
int cmp(node a, node b)
{
return a.le < b.le;
}
int ma...
分类:
其他好文 时间:
2014-08-20 00:02:06
阅读次数:
297