
贪心
文章平均质量分 79
playwfun
宁静致远
展开
-
ZOJ 3508 贪心算法
#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;const int maxn=2500 + 10;struct Sol{原创 2014-08-03 15:47:50 · 877 阅读 · 0 评论 -
HDU 5501(一类贪心问题)
本题目的意思:给定至多n道题目,那么每道题目原始分数A,每分钟减少B,需要C分钟解出,给定t分钟,让求最多的到少分。(t分析:对于可行性序列任意两个连续的题目,若交换他们两个对其他人无影响,简单计算可得只B/C比值越大,放在前面就更优,所以最终结果的序列B/C一定为降序,那么对t分钟做背包即可,因为t分钟不一定吧所有的题目做完。#include #include #includ原创 2015-10-12 11:19:31 · 324 阅读 · 0 评论 -
HDU - 5303(贪心)
这个题目的意思: 在一个长度为L的环上,0和L位置重叠,在0 - L的某些位置有n个点,每个点有一些苹果数目。现在一个人在0处,有个大小为K的篮子,要求用最小距离把所有苹果全运回0处。分析:对于直线上的一些点处,有某些苹果,直接从出发点出发,遇到苹果就装到篮子,装满就回,这样是最优的。(很好证明)这个题目的特殊之处在于可以绕一圈装K个苹果回到0点假设左右苹果总数目都大于K , 若进原创 2015-07-30 10:01:05 · 447 阅读 · 0 评论 -
HDU -- 5242(思路题目)
本题目给定一颗以1为根的树,每个节点都有一个权,记,从根走到叶子节点的一条线为一条路,问从根走到叶子k次,最多可以得到得到的权和。被走过的点的权不再被叠加。(1思路:首先这题目,不适合树形背包,数据范围太大,树形背包大概是被背数量上限的平方的复杂度即K^2。可以用贪心的思想来做该题目:首先求出每个点直接选一条路走到根得到的最大权,那么考虑第一次应该怎么走,贪心的想第一次应该走一原创 2015-05-27 09:38:29 · 718 阅读 · 0 评论 -
ZOJ - 1579(贪心)
A - BridgeTime Limit:5000MS Memory Limit:32768KB 64bit IO Format:%lld & %lluSubmitStatusPracticeZOJ 1579DescriptionA family of N people is passing a bridge at night. Since it i原创 2014-11-08 10:33:41 · 683 阅读 · 0 评论 -
UVA 1344 - Tian Ji -- The Horse Racing(很好的贪心题)
这里多次用到贪心的最优化选择和证明。首先,T,t表示田忌最快马,和最慢马 ,K,k表示国王最快马,和最慢马。若 T > K T与K组合,若T 若T == K,{ 若 t else t与k组合。 }每一个都可以用任意交换不更差的方法证明。每一步都是对当前的贪心决策。#include #include #include #include #原创 2015-04-14 20:56:03 · 423 阅读 · 0 评论 -
uva - 10037(贪心)
先让最后两个过桥,这样总是最优的,晚过不如早过,因为借助的过桥快的人用时可能变长,#include #include #include #include #include using namespace std;const int maxn = 1111;int a[maxn],n,res=0;int handel(int n){ if(n == 3){ prin原创 2015-04-14 14:37:20 · 440 阅读 · 0 评论 -
UVA - 11389(贪心)
很好证明啊,直接用最大的和一个最小的相加因为这样总不会丢失最优解,用交换证明法即可,若夜间最大的并未和白天最小的在一起,那么与和白天最小的在一起的夜间班相交换,不会丢失最优解,#include #include #include #include #include #include #include #include #include #include using原创 2015-04-11 09:51:06 · 477 阅读 · 0 评论 -
UVA - 1267(贪心)
先根据根服务器位置,将五根树转换为有根树,然后,每次深度最大的未被覆盖到的节点,选其k级祖先做服务器、证明,就是假设法。#include #include #include #include #include #include #include #include #include using namespace std;typedef long long LL;#de原创 2015-03-31 22:00:30 · 417 阅读 · 0 评论 -
#296 -- D(转换思路)
本题求特殊条件下最大完全图的节点个数。转化成贪心问题。求不相交子区间的最大值。#include #include #include #include #include #include #include using namespace std;typedef long long LL;const int maxn = 201000;int cmax(int& a,int原创 2015-03-18 09:07:06 · 391 阅读 · 0 评论 -
UVA - 1612(贪心类+精确度处理)
很简单的往下贪。精确度可以对double类型做读入处理成整数。本人采用了字符串转整数。也可以对读入的数(x+1e-4)*100.因为double类型数字保存的是对输入值的尽量精确值,加上1e-4则可保证一定比输入值大一点点,而不影响结果。#include #include #include #include #include #include using namespace s原创 2015-03-12 21:43:14 · 621 阅读 · 0 评论 -
POJ 2376
DescriptionFarmer John is assigning some of his N (1 <= N <= 25,000) cows to do some cleaning chores around the barn. He always wants to have one cow working on cleaning things up and has divide原创 2014-08-03 17:56:35 · 659 阅读 · 0 评论 -
codeforce 589F(二分 +(贪心 or 网络流))
题意:给出n(n分析:对于这样的数据范围很容易想到二分最大值 ,然后建边跑网络流。那么贪心的算法会更快,来说一下贪心算法我们二分到一个值K时。我们面临的初始状态时 d[ 1 -> k ][ 2->k ]...[ n->k ] (代表 区间1还有k个子区间未选取,区间2还有k个子区间未选取 ......)那么对于时刻0那么包含这个时刻的区间按 结束时刻排序可假设为 p1原创 2015-10-29 17:15:57 · 771 阅读 · 0 评论