![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
贪心
cutlery1137
这个作者很懒,什么都没留下…
展开
-
蓝桥杯 翻硬币【贪心】
题目链接:AcWing 1208. 翻硬币 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:oo*oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作。 输入格式 两行等长的字符串,分别表示初始状态和要达到的目标状态。 输出格式原创 2020-10-08 22:46:01 · 90 阅读 · 0 评论 -
leetcode 122. 买卖股票的最佳时机 II【贪心】
题目链接:122. 买卖股票的最佳时机 II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 =原创 2020-05-30 14:27:48 · 140 阅读 · 0 评论 -
leetcode 53. 最大子序和【贪心】【线性DP】
题目链接:53. 最大子序和 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 代码如下: //贪心 class Solution { public int maxSubArray(int[] nums) { int res = nums[0];原创 2020-05-30 11:20:22 · 190 阅读 · 0 评论 -
洛谷P1020 导弹拦截【LIS 贪心+二分】
题目链接:P1020 导弹拦截 程序说明: 第一个问题是求最长非上升子序列。upper_bound和lower_bound只能对非递减序列进行查找,由题可知 f 数组是单调递减的,因此需要在upper_bound函数中多一个参数:greater()或者手写cmp。 第二个问题是求最长上升子序列(Dilworth定理),证明的方法可以参考大佬的博客:DP-导弹拦截。即最长上升子序列和最大非上升子序...原创 2020-02-26 21:31:43 · 275 阅读 · 0 评论 -
最长上升子序列【线性DP】【贪心+二分】
题目链接:896. 最长上升子序列 II 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000 −109≤数列中的数≤109 输入样例: 7 3 1 2 1 8 5 6 输出样例: 4 程序说明: 动态规划 时间复杂度O(n2n^2n2) dp[...原创 2020-02-17 13:43:55 · 469 阅读 · 0 评论 -
洛谷P1182 数列分段 Section II【贪心+二分】
题目链接:P1182 数列分段 Section II 程序说明: 二分适用于区间有界且单调,例如最大值最小或者最小值最大这类问题。 设区间所有数中的最大值为L,区间所有的数总和为R,则答案一定位于L和R之间。利用二分算法快速得出答案。check函数利用贪心的思想,即P1181 数列分段Section I的方法,判断mid是否满足题目要求,如果不满足则在相应的区间进行二分查找。 代码如下: #in...原创 2020-02-01 13:53:30 · 350 阅读 · 0 评论 -
洛谷P1090 合并果子
题目链接:P1090 合并果子 程序说明: 类似于构造一棵哈夫曼树,用优先队列做会很简单。 优先队列默认大根堆,构造小根堆的语句: priority_queue<int, vector<int>, greater<int> > q; 循环条件是不少于两堆果子,每次循环把两堆小的堆在一起,然后放回队列。push的是a + b,不是sum,不要弄错了。 代码如下...原创 2020-01-29 10:31:42 · 304 阅读 · 0 评论 -
洛谷P1803 凌乱的yyy / 线段覆盖
题目链接:洛谷P1803 凌乱的yyy / 线段覆盖 程序说明: 贪心算法的区间调度问题,在可选工作中,每次都选取结束时间最早的工作。将所有工作按结束时间从小到大排序,若时间不重叠则选取。 注意自定义结构体排序的操作。 此题的大坑!!结构体名不能用time。。因为这个原因导致编译不能通过。。。 代码如下: #include <iostream> #include <algori...原创 2020-01-22 23:33:02 · 333 阅读 · 0 评论 -
洛谷P1031 均分纸牌【贪心】
题目链接:洛谷P1031 均分纸牌 程序说明: 贪心算法,先计算出平均数即每堆牌的数目,规定每一堆牌只能由其相邻的右侧牌堆提供(这里的提供有正有负),如果某牌堆的数目恰好已经是正确的数目了则跳过该牌堆。 代码如下: #include <iostream> using namespace std; const int MAX = 10000; int n, sum, cnt, a[M...原创 2020-01-22 11:31:45 · 213 阅读 · 0 评论 -
POJ3069 Saruman's Army
题目链接:POJ3069 Saruman’s Army Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20492 Accepted: 9926 Description Saruman the White must lead his army along a straight path from Isengard to He...原创 2020-01-22 10:25:45 · 202 阅读 · 0 评论 -
POJ3617 Best Cow Line
题目链接:POJ3617 Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 46695 Accepted: 11881 Description FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of the Yea...原创 2020-01-21 14:09:39 · 191 阅读 · 0 评论