随笔分类 -  贪心

摘要:因为每增加一个订单,时间是会增加的,所以先按截止时间d排序,这样的话无论是删除一个订单,或者增加订单,都不会影响已经选好的订单。然后维护一个已经选好的订单的大根堆(优先队列),如果当前无法选择的话,那么尝试和之前花费时间最长的交换。如果qiusing namespace std;const int ... 阅读全文
posted @ 2015-08-05 23:42 瑞宇 阅读(457) 评论(0) 推荐(0)
摘要:题意:给出一堆元素,求一个子集,使子集的乘积最大,如有多个,应该使子集元素个数尽量小。题解:贪心,如果有大于1的正数,那么是一定要选的,注意负数也可能凑出大于1的正数,那么将绝对值大于1的负数两两配对,如果还剩下一个绝对值大于1的负数,那么在判断一下,那个负数和比它大的最小负数的乘积是否大于1,如果... 阅读全文
posted @ 2015-08-04 22:36 瑞宇 阅读(372) 评论(0) 推荐(0)
摘要:先证明一个结论吧,对于1≤ai≤i+1,前面ai个数一定可以凑出1~sum[i]中的任意一个数.对于i=1显然成立,假设对于i=k结论成立,那么对于i=k+1来说,只要证明sum[k]+i,1≤i≤ak+1可以凑出来就行了。因为sum[k]+i≥k+1,且1≤ak+1≤k+1,所以可以先选一个ak+... 阅读全文
posted @ 2015-08-04 17:41 瑞宇 阅读(839) 评论(0) 推荐(1)
摘要:题意:给你一个n位整数,让你删掉d个数字,剩下的数字要尽量大。题解:因为最后数字位数是确定的,而且低位数字对答案的贡献是一定不及高位数字的,所以优先选择选最大且最靠左边的数字,但是有一个限制,选完这个数字以后右边剩下的数字要保证足够接下来的选择,所以想到了优先队列,记录一个信息,选的数字所在的位置,... 阅读全文
posted @ 2015-08-03 11:26 瑞宇 阅读(644) 评论(0) 推荐(0)
摘要:每次选最大的物品和最小的物品放一起,如果放不下,大物体孤独终生,否则相伴而行。。。答案变得更优是因为两个物品一起放了,最大的物品是最难匹配的,如果和最小的都放不下的话,和其它匹配也一定放不下了。#includeusing namespace std;const int maxn = 1e5+42;i... 阅读全文
posted @ 2015-08-02 11:22 瑞宇 阅读(280) 评论(0) 推荐(0)
摘要:题意:有一个洞穴,每个位置有一个底的高度p[i],和对应顶的高度s[i],要往里面尽量放燃料,要求燃料不能碰到顶,可以无限接近。题解:制约燃料储放的就是顶的高度了,分别求出设当前储放位置的向两边的延伸不会碰到顶的最大高度。设当前最大高度为level,起始位置为顶高,移动到下一格的时如果碰到顶,那么降... 阅读全文
posted @ 2015-08-01 23:16 瑞宇 阅读(434) 评论(0) 推荐(0)
摘要:摘要:贪心,问题分解。因为行列无关,所以这个二维问题可以分解成两个一维问题。优先队列实现:类似区间点覆盖的问题,先按照左端点排序,相同然后在按右端点排序(灵活性小的优先选)。最优的选法,当然是要使选的这个点经过的区间越少越好,那么就选最左边的点,因为选右边可能多经过区间,一定不比选最左边的更优。选完... 阅读全文
posted @ 2015-07-31 17:29 瑞宇 阅读(271) 评论(0) 推荐(0)
摘要:题意:给你一些钟的时间,只可以往后调, 问最少调的时间总和是多少题解:因为肯定是调到某个出现过时间的,只要枚举时间,在维护一个前缀和快速计算出时间总和就行了。#include#include#include#include#include#include#define first fi#define... 阅读全文
posted @ 2015-07-25 16:41 瑞宇 阅读(345) 评论(0) 推荐(0)
摘要:题意:给你n张卡,每张卡上有蓝色和红色的两种数字,求一种排列使得对应颜色数字之间形成的逆序对总数最小题解:贪心,先按蓝色排序,数字相同再按红色排,那么蓝色数字的逆序总数为0,考虑交换红色的数字消除逆序,那么这个操作的代价是蓝色的数字逆序对增加2*len-3,而红色的数字交换最多也只能消除那么多对逆序... 阅读全文
posted @ 2015-07-23 19:35 瑞宇 阅读(327) 评论(0) 推荐(0)
摘要:一道贪心的题,因为最小的不能由别的转化,所以每次贪心找最小的,其余的转化成大的。从小到大,最小的如果不存在那么就break,否则减去一个,剩下的加k继续判断。#include#includeconst int maxn = 300;int cnt[maxn];int main(){ int T... 阅读全文
posted @ 2015-07-17 14:05 瑞宇 阅读(112) 评论(0) 推荐(0)