贪心
文章平均质量分 71
wwwwwwxu
不敢说强记,只敢说博闻。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BZOJ 1046 上升序列
题目大意: 在给出的序列中,求长度为L的字典序最小上升序列。 解题思路: 设构造到第i个数,显然当且仅当已选的数的个数+以第i个数开头的最长上升子序列的长度≥L时,第i个数在最优解中. 首先求出以每个数为开头上升序列长度,即倒着做最长下降子序列。 如果以第一个数(字典序最小的数)开头的最长上升子序列大等于x,则将它放在答案第一个,第二个数开头小于x,则舍弃,第三个大于x-1原创 2015-09-02 21:50:41 · 377 阅读 · 0 评论 -
区间选点问题
问题: 数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。 贪心策略: 按照b1 证明: 为了方便起见,如果区间i内已经有一个点被取到,我们称区间i被满足。 1、首先考虑区间包含的情况,当小区间被满足时大区间一定被满足。所以我们应当优先选取小区间中的点,从而使大区间不用考虑。原创 2015-08-19 01:47:45 · 1590 阅读 · 0 评论 -
POJ 1042 Gone Fishing
题目大意: 在一条水平的路上,有n个湖,第i个湖里有di条鱼,每次钓鱼花费一单位时间,从第i个湖到第i+1个湖需要走ti个单位时间。求能钓最多鱼的方案和鱼数。 解题思路: 一开始看上去很麻烦,因为移动花费的时间难算。 但是我们发现,当你用以下两种路线移动时,话费的时间是一样的。 1->2->3->1 1->1->2->3 所以我们可以一开始枚举出到第x个湖所需要的时间,剩余时原创 2015-08-19 01:44:31 · 591 阅读 · 0 评论 -
POJ 2362 Square
题目大意: 给出一堆木棒,问是否能拼成一个正方形。 解题思路: 把所有木棒长度加起来/4得到一条边的长度,然后把木棒从大到小排序,dfs。 有几个可以优化的地方。 1,长度和%4必须等于零。 2,如果最长的木棒长于边长则不行。 3,满足以上条件的时候只要搜索了三条边即可。 #include #include #include #include #include #i原创 2015-09-02 21:37:19 · 389 阅读 · 0 评论 -
POJ 1328 Radar Installation
题目大意: 一条直线,直线上方有一些点,以直线上一些点为圆心,画半径为d的圆,求出最少要取多少个这样的圆能把所有直线上方的点全部包括在内。 解题思路: 以直线上方的那些点为圆心,以d为半径,可以画出一些与直线相交的点。 每一个这样的圆与直线交的两个点,我们把它看作是一个区间,左坐标a[i],右坐标b[i],把这个区间称为点的活动区间。 然后明显发现,要把包含其他区间的区间删掉,因原创 2015-08-19 01:34:44 · 326 阅读 · 0 评论 -
CodeForces #322 (div2)
A. Vasya the Hipster 随便模拟一下。 #include #include #include #include #include #include #include #include #include #define LL long long #define db double #define EPS 1e-1 #define inf 1e16 #define pa pair原创 2015-09-28 23:56:41 · 385 阅读 · 0 评论 -
2014 北京区域赛题目
2014 北京区域赛题目 按照榜单过题人数 顺序不弃原创 2015-10-13 22:49:17 · 545 阅读 · 0 评论 -
hdu5289 Assignment
题意:给你n个数和一个数k,求存在多少个区间,区间内最大值减最小值小于k 。n ≤ 100000; a[i], k ≤ 10^9 思路:预处理出区间[i,j]中的最大值最小值,然后枚举左端点l,二分出符合条件的右端点r,以l为左端点,j为右端点(l 代码: #define _CRT_SECURE_NO_DEPRECATE #include #include #include #inclu原创 2016-06-12 23:53:39 · 667 阅读 · 0 评论
分享