【练习12】贪心算法
文章平均质量分 77
liuzhushiqiang
这个作者很懒,什么都没留下…
展开
-
【练习12】 贪心算法 1001 FatMouse' Trade
//模板开始 #include #include #include #include #include #include #include #include #include #include #include #include #include #define SZ(x) (int(x.size())) u原创 2013-05-02 14:42:55 · 749 阅读 · 0 评论 -
【练习12】 贪心算法 1002 今年暑假不AC
兼有动态规划和贪心的思想。 一维数组里保存的的就是以当前节目作为开始,最多能完整地看多少个不同的节目。 很明显,播出时间最晚的节目只是能1。 我采取从后往前的规划方法。 这样,当循环到i时,能保证数组里 D[i+1] -> D[n-1] 保存的都是最优解。 所以让j 从 i+1 到 n-1 循环,找出看完第i个节目后最多还能看的节目数max。(不要忘了判断能否完整收看哦) 把max原创 2013-05-02 16:11:40 · 685 阅读 · 0 评论 -
【练习12】 贪心算法 1003 Moving Tables
这一题虽然是放在“贪心算法”专题里,但是其实只要深刻的理解题意,不用贪心算法更加容易。 思路: 由于房间是奇偶分开的,所以先把他们换成连续的自然数,即n=(n+1)/2.然后再统计经过某段走廊的次数就好了。。最多的次数在乘以10就是所求的时间了。 //模板开始 #include #include #include #include #include原创 2013-05-02 20:46:35 · 694 阅读 · 0 评论 -
【练习12】 贪心算法 1004 Load Balancing
算法思路:贪心 + 优先队列。 jobs需要先对时间排序,再依次选择time值最大的那个job,把它丢给运行时间最少的那个server(通过优先队列查找)。这个过程中要记录每次配对的job和server编号,最后一次性输出。 几天没有写代码,代码写得很挫,WA了无数遍,o(╯□╰)o coding真是个伟大的工程,欲速则不达,还是要十年磨一剑吧! 代码如下: //模板开始 #include原创 2013-08-14 23:19:29 · 867 阅读 · 0 评论 -
【练习12】 贪心算法 1004 Doing Homework again
算法思路:贪心。 先对所有的homework排序,deadline大的在后面,然后依次从后往前分配每一天的任务,因为这天分配的homework的deadline只能是大于等于当前要分配的这一天的下标(下标依次为1,2,3,...,N),所以遍历所有可行的(deadline>当天分配的这一天的下标)homework选择penalty最大的哪一个就行了,但是选择之后要记得进行比较,下次遍历的时候就不原创 2013-08-15 17:42:06 · 714 阅读 · 0 评论