贪心
TzoZex
这个作者很懒,什么都没留下…
展开
-
POJ3253 Fence Repair(哈夫曼树+优先队列)
DescriptionFarmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needs N (1 ≤ N ≤ 20,000) planks of wood, each having some integer length...原创 2019-02-01 10:42:10 · 168 阅读 · 0 评论 -
数星星 Stars
题目链接直接二维树状数组会超内存,利用贪心排序降维(题目数据已经有序)#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <cmath>#include <vector>#include <...原创 2019-03-04 14:34:06 · 262 阅读 · 0 评论 -
最小新整数
题目链接先看第一组:1 5 1 9小大 小 大留删 留 留第二组:1 4 1 5 1 9小 大 小 大 小 大留 删 留删 留 留删掉的是“山峰”,也就是比后一个数大的数,且越靠前“山峰”越早删。大体思路也就一句话:删除靠前的“山峰”。另外,有几个坑不得不提:1.注意删除前导0(虽然它说每个数位都不为0,但是测试数据里面好像有这样的数据)。2.当把数...原创 2019-02-17 10:43:32 · 154 阅读 · 0 评论 -
寻找平面上的极大点
题目链接思路:在纸上把测试数据一画知道是贪心先按y从大到小排序,y相同按x从大到小排序排序之后相当于从二维变成一维(y不需要管了),用last来维护当前x的最大值#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <i...原创 2019-02-15 21:33:10 · 399 阅读 · 0 评论 -
电池的寿命
题目链接把所有电池看成两个,一个为电池中用时最长的那节电池,另一个是其他电池用时的和,分类讨论,如果前者大于后者,说明总时间其他电池的用时总和,否则所有电池的电量都能耗尽(可以结合样例去理解)#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#...原创 2019-02-15 20:54:02 · 342 阅读 · 0 评论 -
An Easy Problem
题目链接统计一下n的二进制为1的位数,然后不断自加判断即可#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<string>#include<cstdlib>#i原创 2019-02-15 18:03:43 · 234 阅读 · 1 评论 -
整数区间
题目链接点覆盖区间问题,问最少需要多少个点先按开始区间进行排序,具体的贪心算法就是对于每个区间不断的和下一个区间判断是否有交集, 有的话再判断是否改变集合的边界。#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm&...原创 2019-02-15 17:49:12 · 733 阅读 · 0 评论 -
活动选择
题目链接每次选择结束时间最早的#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<string>#include<cstdlib>#include<原创 2019-02-15 17:32:56 · 92 阅读 · 0 评论 -
T1321 删数问题
题目链接这里先介绍之前错误的思路:找出数字中n-k个最小的数,组成新的正整数;但是很快就有问题出现,虽然每次都找的是整数各个位置中最小的数,但是忽略掉了位置的相对关系,如以下的例子:输入的一个整数:178906; 6位数的整数删除其中4个数;按照这个思路,即要选择6-4=2个最小的数,即0 和1,按照数中原有的次序,得到的是10;但是事实上,应该是06,即6所以换个思路,叫“最近下...原创 2019-02-15 16:23:32 · 217 阅读 · 0 评论 -
T1320 均分纸牌
题目链接贪心思路:均分卡片问题,贪心算法求解如何移动最小步骤实现完成当前堆牌数等于均值,那就是从邻近堆借牌,在借牌时产生的负数问题,说明邻近堆牌数不足,需要从远处借调;把多于均值的理解为高处,把小于均值的理解为低处,在牌从高处走向低处时,如果有重复移动,如a,b,c相邻,b堆移动1张到c堆,a堆移动3张到b堆再从b到c堆,b堆到c堆移动了两次牌,这种情况是可以避免的,即先由a堆移动3...原创 2019-02-15 15:26:14 · 196 阅读 · 0 评论 -
Allowance POJ - 3040 贪心+模拟
题目链接1 面值比c大的直接当一次2 面值比C小的贪心求解, 先从大面值到小面值遍历,使得总和小于等于C,然后从小到到大遍历,使得总和大于等于C参考博客#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostre...原创 2019-02-03 20:04:59 · 192 阅读 · 0 评论 -
Protecting the Flowers POJ - 3262 贪心
题目链接思路简单:但有两个小技巧1.排序时讲除法转化为乘法2.反向思维简化了复杂度#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstring&amp;gt;#include &amp;lt;cstdlib&amp;gt;#include &amp;lt;algorithm&amp;gt;#include &原创 2019-02-03 17:23:14 · 108 阅读 · 0 评论 -
POJ1862 ZOJ1543 Stripies 贪心
题目链接思路:贪心方法是把大数尽量多开方几次,所以每次选择最大的两个数拿出来开方。因为开方对于大数变小的幅度更大,所以对它多开方#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#includ...原创 2019-02-03 16:52:17 · 94 阅读 · 0 评论 -
POJ2393 Yogurt factory 贪心
题目链接自己写的双重for循环找最小代价,结果TLE。。。。其实只需要维护最小代价即可TLE 代码:#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <cmath&...原创 2019-02-03 11:33:29 · 161 阅读 · 0 评论 -
Stall Reservations POJ - 3190
题目链接明显要先处理产奶时间靠前并且结束时间靠前的奶牛,这样才能使后面的奶牛接着使用同一畜栏。首先对结构体按照开始时间升序排列。这样从0~N找时只要判断该奶牛的起始时间是否比前面每个畜栏的最小的终止时间大,如果大的话,就可以安排在其后面产奶,并且更新该畜栏的终止时间。如果小的话,则必须新开一间畜栏。因为一直要找最小值,考虑使用优先队列(priority_queue),结束时间小的优先级高。这...原创 2019-02-02 11:17:50 · 169 阅读 · 0 评论 -
Radar Installation POJ - 1328 (区间贪心)
题目链接考虑一下每个小岛被覆盖时雷达的区间, 最后就把各个小岛转化为了一个个区间,转化为了区间贪心问题,即用最少的点覆盖所有的区间 ,具体的贪心算法就是对于每个岛不断的和下一个岛判断是否有交集, 有的话再判断是否改变集合的边界。#include <cstdio>#include <cstring>#include <cstdlib>#include &...原创 2019-02-01 15:27:33 · 101 阅读 · 0 评论 -
奖品分配
题目链接每个位置的最小值是由左右位置转移过来的,所以排序后,当前位置i左右两边的位置如果已经计算过,就可以转移过来#include<bits/stdc++.h>using namespace std;typedef pair<int,int> P;typedef long long ll;const int N=1e5+10;int a[N],b[N];P ...原创 2019-04-20 21:35:34 · 653 阅读 · 0 评论