![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法-贪心
贪心
Wonder-King
有好奇心,什么都想学一点。
展开
-
蓝桥杯 试题 基础练习 完美的代价(贪心算法详解)
问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!) 输入格式 ...原创 2020-03-06 13:42:23 · 1461 阅读 · 4 评论 -
51Nod 1163 最高的奖励(贪心)
按照奖励从大到小排序 比如测试案例: 70 60 50 40 30 20 10 4 2 4 3 1 4 6 用一个数组ans[i]记录要完成的任务: 先将70放到4的位置,然后将60放到2的位置,然后将50放到4的位置,但是4的位置已经有70了,就往前找空位即放到3的位置。就是这个思想,比较像哈希函数解决冲突的开放地址法。 #include<...原创 2018-12-23 18:06:39 · 172 阅读 · 0 评论 -
51Nod1117 聪明的木匠(最小生成树)
这道题的求解思路和求最小生成树的思路相似。 在队列中找最小的两个数出队相加,加得的数在进队列,直到队列剩一个数为止。 #include<iostream> #include<algorithm> #include<cstring> #include<queue> #include<vector> using namespace st...原创 2018-12-23 16:24:30 · 99 阅读 · 1 评论 -
51Nod1099 任务执行顺序(贪心)
刚开始是以为r最大的在前面,排序,结果只对了几个测试案例,然后看了下面的思路,顿悟了。 假设只有两个任务,那么就两种结果,先执行a,后执行b。或者先执行b,后执行a。 前者的结果是 max(a.oper,a.store+b.oper) 后者的结果是 max(b.oper,b.store+a.oper) 这个时候可以知道,结果一定是min( a.store+b.oper , b.store+a.o...原创 2018-12-23 10:43:11 · 182 阅读 · 0 评论 -
51Nod 1428 活动安排问题(贪心+优先队列)
这道题真是折磨死我了。一看就知道是贪心,要排序,然后想了一个多小时,脑子真是越想越乱。 冷静冷静冷静! 慢慢想,最后想到了一个思路:用结构体存时段,按照起点从小到大排序。让第一个时段的终点进优先队列(从小到大排列)中,如果起点大于队头,就说明可以在同一个教室里面上课,就更新队头。最终队列长度就是所需的教室数。 ps:提交用c++11编译器 #include<iostream>...原创 2018-12-06 15:39:34 · 177 阅读 · 0 评论 -
51Nod1278 相离的圆(贪心+lower_bound)
将圆的问题变换成线段的问题,按照左端点排序,如果i的右端点小于j的左端点,那么j之后的圆都和他相离。 用lower_bound二分查找找到j,否则会超时。 #include<iostream> #include<algorithm> using namespace std; struct node { int l,r,x,R; }a[50005]; bool cm...原创 2018-12-02 17:36:44 · 192 阅读 · 0 评论 -
51Nod1133 不重叠的线段(贪心)
这道题和51Nod1091 线段的重叠(贪心) 这一题很像,同样的思想,如果那一题你理解的话,这道题肯定会写的鸭! #include<iostream> #include<algorithm> using namespace std; struct node{ int x,y; }a[10005]; bool cmp(node aa,node bb) { if(aa...原创 2018-12-02 12:19:52 · 154 阅读 · 0 评论 -
51Nod1091 线段的重叠(贪心)
贪心核心思想:按左端点从小到大,右端点从大到小排序,用一个变量m记录最大的右端点在值,因为左端点从小到大排序的,所以右端点越大,重合越多。 先看代码,在看思想,会更好理解点! #include<iostream> #include<cstring> #include<algorithm> using namespace std; struct node {...原创 2018-11-17 17:20:33 · 208 阅读 · 0 评论 -
HDU4544 湫湫系列故事——消灭兔子(贪心算法+优先队列优化)
湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 4041 Accepted Submission(s): 1302 Problem Description 湫湫减肥 越减越肥! 最近,减肥...原创 2018-08-14 16:37:46 · 408 阅读 · 0 评论 -
POJ 1328 Radar Installation(贪心算法)
Radar Installation Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installat...原创 2018-07-21 20:54:31 · 260 阅读 · 0 评论