1.题目描述:点击打开链接
2.解题思路:本题利用优先队列解决,然而在这次多校的比赛时候并没有往这个角度考虑,最终要么WA要么TLE==。其实本题的贪心策略很好想:如果把题目中的人数看做数轴上的点的话,那么应该按照从0依次递增的顺序来选择区间,把符合条件的区间预先存起来,然后按照他们的终点由小到大排序,第一个就是我们要的区间,如果遇到第一个区间的终点也小于当前值,那么也将他放入ans数组,只不过...
分类:
其他好文 时间:
2015-08-06 22:28:13
阅读次数:
124
//n个人接受邀请的条件是已经接受邀请的人数区间在l[i] , r[i]
//问怎样设置邀请顺序能使得接受邀请的人数最多
//先对其对从小到大排序
//然后维护一个set,set中存入左边满足条件的所有人,
//然后贪心策略是每次取左边满足条件的右边最小的人
//每次多邀请一个人后删除右边不满足条件的人
#include
#include
#include<ios...
分类:
其他好文 时间:
2015-08-06 18:20:49
阅读次数:
87
题意:给你一些区间,现在有m个查询,求出每个查询的区间内的最大的不相交区间个数
分析:
几天前那道说谎问题时用dp的摞箱子模型求的最大的不相交区间个数,但是这题不能用这个方法,因为这题是动态的查询,不可能每个查询dp一次,超时。
这题用贪心策略。求区间[l~r]里的最大不相交区间,贪心策略就应该先选该区间内右端点最小的,这样给以后待选的区间留下更大的空间,所以我们的做法就是先按照区间的右端点...
分类:
其他好文 时间:
2015-08-04 23:09:59
阅读次数:
566
题意:
给你一个n?nn*n的元素只为0或1的矩阵,要把该矩阵通过行交换变为上三角矩阵,且交换方式只能为相邻行交换。问最小的交换步数是多少?思路:
首先这个行的利用价值就是最右边的1位置是多少,直接把行抽象为最右边1的数字即可。注意:这里WA了一发,没有注意数字要初始化为0。无论多么简单,写完之后检查代码且保证逻辑没有一丝错误十分重要!
这个题主要的是构造贪心的法则:题中只需要满足第一行的数字...
分类:
其他好文 时间:
2015-08-01 13:00:33
阅读次数:
107
一个、基本概念所谓贪婪算法的手段。当问题解决,在目前看来总是做出最好的选择。那。不能从整体上最好考虑,他提出的最佳解决方案,只有一个部分有义。没有固定的算法贪心算法框架,关键是要选择贪心算法设计策略。,贪心算法不是对全部问题都能得到总体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会...
分类:
编程语言 时间:
2015-07-26 22:16:30
阅读次数:
146
一开始我妄想在O(n)的时间内求出答案,但是后来证明我的方法是错误的,这里就不再赘述了 。
网上提供的一种方法是枚举起点,然后使得从起点开始的每一位都对应着是1、2、3...n 或者相反 。 如果不是,将对应的值交换过去 。
这显然是一种贪心策略 。 不断追求局部最优,最后的答案也是最优 。
证明贪心的方法一般是反证法 : 假设这样不是最优,那么当前这个数要和其他的数交换几次后再换到这个...
分类:
其他好文 时间:
2015-07-25 12:28:07
阅读次数:
81
这道题中,边权属于[0,1],并且多段路的长度为各段的乘积。联系dijstra算法的特点,我们可以采取类似于dijstra的贪心策略,每次选取到源点距离最大的点,因为现在源点到其他的点的距离都不大于这个距离,以后如果再加上某一段,总的长度便会乘上一个不大于1的数字,就更不可能比现在选取的这个距离大了...
分类:
Web程序 时间:
2015-07-23 21:27:38
阅读次数:
113
* 进行数组排序,然后按照贪心策略进行合并,具体是考察
* 下一个元素的start是否是介于当前的start和end之间,
* 如果是,则根据需要更新当前end。
* 时间复杂度(O(nlogn))-->排序, 结果获取O(n)
* 空间复杂度(O...
分类:
其他好文 时间:
2015-07-10 13:36:19
阅读次数:
98
Wooden Sticks
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 14161 Accepted Submission(s): 5860
Problem Description
There is a ...
分类:
编程语言 时间:
2015-06-20 14:23:31
阅读次数:
312
拿到这个问题,我的第一反应是用贪心算法,优先满足不同种类多的,这样打的折扣比价多。但是,看了书中的分析发现,*我们设定的贪心策略实际上是有问题的, ie 在买 5 + 3 本的时候会出错。
看到这里,书上说可以利用改进的贪心算法,感觉如果换了相应的折扣数量,可能又会有不同的结果了。因而,没有深入的研究下去。
既然,贪心算法不可行,那就用动态规划呗。
这里的动态规划思路很简单不过写起来有些复杂。...
分类:
其他好文 时间:
2015-06-13 00:01:17
阅读次数:
423