#贪心

POJ1065 Wooden Sticks(贪心+动态规划——单调递减或递增序列)

描述C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗? 输入第一行是...

LeetCode刷题总结-二分查找和贪心法篇

本文介绍LeetCode上有关二分查找和贪心法的算法题,推荐刷题总数为16道。具体考点归纳如下:  1.数学问题题号:29.两数相除,难度中等题号:668.乘法表中第k小的数,难度困难题号:793.阶乘函数后K个零,难度困难 2.实际场景问题题号:174.地下城游戏,难度困难题号:911....

Codeforces Round #632 (Div. 2) F. Kate and imperfection(思维+贪心+素数筛)

 F.Kateandimperfection(思维+贪心+素数筛)   题意:一个集合的imperfection定义为:这个集合中任意一对数的gcd中的最大gcd(e.g.{1,2,3,6} 的imperfection 为3),现在给定一个原始集合长度为n,集...

Sereja and Swaps(贪心+暴力枚举区间)

SerejaandSwaps  AC_Code: 1//枚举区间,o(n^2),然后将区间内最小的数逐个和区间外面最大的数交换2#include<bits/stdc++.h>3usingnamespacestd;4typedeflonglongll;5constintmaxn=...

Codeforces Round #609 (Div. 2)E--K Integers(贪心+二分+树状数组+逆序对)

KIntegers参考博客:https://blog.csdn.net/Q755100802/article/details/103664555 【题意】给定一个1到n的排列,可以交换相邻的两个元素。现在定义一个函数f(x),表示在原排列中,通过交换操作,形成一个1,2,3....x的排列的子串,需要的最小操...

Meteor Flow(贪心+优先队列)

MeteorFlow(贪心+优先队列)AC_Code1///既然只要发射一次,就可以打掉,那么就要打掉那个耗费经历最多的,以保留更多的精力(所以用优先队列,先弹出耗费经历最多的)2///其次,只要有能力打就先不发射(所以先入栈)34#include<iostream>5#include<cstdio&...

Painting The Fence(贪心+优先队列)

题目大意:给m种数字,一共n个,从前往后填,相同的数字最多k个在一起,输出构造方案,没有则输出"-1".解题思路:贪心的思路,优先选择数量多的先填,这样会让最后剩余相同的数字数量最少,所以我们优先选数量最多的两种数字填,最后剩下的(某一种)就填到它前面的位置去,一定是和相同的填在一起,这里就不证明了,自己画下就可以得到...

Balanced Ternary String(贪心+思维)

题目链接:BalancedTernaryString题目大意:给一个字符串,这个字符串只由0,1,2构成,然后让替换字符,使得在替换字符次数最少的前提下,使新获得的字符串中0,1,2      这三个字符的数目相同,并且新获得的字符串的字典序要尽可能的小;直接数组做法:暴力遍历 1/**/2#include&...

五大常用算法之三:贪心算法

 一、基本概念:      所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。     贪心算法没有固定的算法...

HDU4550+贪心

/*贪心先挑出最小的Mm,然后在Mm左侧的按情况考虑,右侧的按顺序排列。*/#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#include<iostream>#i...
代码星球 ·2020-10-21

CF 335A(Banana-贪心-priority_queue是大根堆)

 A.Bananatimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputPiegirlisbuyingstickersforaproject.Stickerscomeonsheet...

贪心-hdu-1789-Doing Homework again

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789题目意思:有n个作业,每个作业有一个截止日期,每个作业如果超过截止日期完成的时候有一个惩罚值,问怎样安排作业,使惩罚值最小。解题思路:贪心。先按惩罚值从大到小排序,惩罚值越大,就应该尽量安排改作业在截止日期之前完成,而...

贪心:leetcode 870. Advantage Shuffle、134. Gas Station、452. Minimum Number of Arrows to Burst Balloons、316. Remove Duplicate Letters

870.AdvantageShuffle思路:A数组的最大值大于B的最大值,就拿这个A跟B比较;如果不大于,就拿最小值跟B比较A可以改变顺序,但B的顺序不能改变,只能通过容器来获得由大到小的顺序,并且必须存储相应的index,因为最终需要将选择的A的数值存入与这个B相对应的index下classSolution{pub...

leetcode 55. Jump Game、45. Jump Game II(贪心)

55. JumpGame第一种方法:只要找到一个方式可以到达,那当前位置就是可以到达的,所以可以breakclassSolution{public:boolcanJump(vector<int>&nums){intlength=nums.size();if(length<=0)ret...

JavaScript算法模式——动态规划和贪心算法

  动态规划(DynamicProgramming,DP)是一种将复杂问题分解成更小的子问题来解决的优化算法。下面有一些用动态规划来解决实际问题的算法:最少硬币找零  给定一组硬币的面额,以及要找零的钱数,计算出符合找零钱数的最少硬币数量。例如,美国硬币面额有1、5、10、25这四种面额,如果要找36美分的零钱,则得出...
首页上一页12345...下一页尾页