Greedy
hadis_fukan
这个作者很懒,什么都没留下…
展开
-
poj 2373 Yogurt factory (贪心)
题目链接:点击打开链接 刚开始wa的代码我现在还是没想通和后来AC的有什么区别。。。 我感觉理论上真是一样的。。。只不过一个是先比较成本单价,再乘以个数。另一个是先算总价再比较啊。。 求指教!!!! AC代码: #include #include #include #include #include #include #include #include #include原创 2013-12-23 12:11:42 · 948 阅读 · 0 评论 -
Codeforces Round #253 (Div. 2) D. Andrey and Problem (贪心+数学概率)
题意: 就是小a要为比赛出题。原创 2014-08-28 09:13:58 · 616 阅读 · 0 评论 -
hdu 4911 Inversion (逆序数变换)
题意: 求交换任意两个相邻原创 2014-08-06 09:34:00 · 759 阅读 · 0 评论 -
hdu 3177 Crixalis's Equipment (贪心- - 排序)
题意就是要把n样体积为Ai的东西搬到总体积为v的洞里。但是第i样东西能搬进去的前提是 洞的剩余体积>=Bi(Bi>=Ai)。问是否能把所有东西都搬进去。 算法: 比赛时直接按Bi降序排。后来yy讲了以后顿悟。 设ai>aj,bi>bj。 如果先把Bi大的放进洞里,如果刚好ai很大,那么当剩下的空间小于Bj时,第j个物品就放不进去了。 但是如果先放第j个,那么如果剩下的空原创 2014-03-03 08:27:40 · 1119 阅读 · 0 评论 -
zoj 3334 Body Check
m个医生,n个病人。要么所有医生都工作要么只有一个医生工作。 每个医生工作效率相同。已知给每个病人检查要用的时间。一个病人可以让多个医生 给他看病,也就是说他可以先找医生1检查一段时间再找医生2检查一段时间。 问怎么样安排能使时间最短。输出最短时间。原创 2014-01-13 22:10:35 · 1434 阅读 · 0 评论 -
zoj 1076 Gene Assembly
题意:就是找最长的外显子序列。给出的是可能的外显子的个数和每个外显子的开始序列和结尾序列。 外显子i在j前面当且仅当i的结尾小于j的开头编号。 分析: 按结束编号递增排序。类似于活动安排。 #include #include using namespace std; struct node { int s,e,id; }gene[1010]; b原创 2014-01-10 09:56:54 · 1022 阅读 · 0 评论 -
poj 3040 Allowance (贪心)
题意:有各种不同面值xi的硬币ci个,问要给别人发工资(一个星期的工资至少为c) 最多能发给它多少个星期。(小硬币的面值能整除大硬币) 分析: 1、按面值从大到小排序,如果能选大的尽量选大的,只要不超过c就能放多少放多少。 最后再从小的开始找放进去超额的。 #include #include #include using namespace原创 2014-01-09 20:32:15 · 964 阅读 · 0 评论 -
UVALive 3177 && uva 1335 Beijing Guards (贪心+二分)
题意:给定n个守卫战成一圈,每个守卫要r个礼物,然后问需要几种礼物分配给他们才能使得相邻两个守卫礼物都不同 思路: 1、 当n为偶数的时候,ans = max(p[i]+p[i+1]),可以自己画个图验证; 2、 当n为奇数的时候就不满足了,那么我们可以利用二分答案然后判断从而求出最小值。假设有p种礼物,那么设第一个人 的礼物为1~r1,那么不难发现最有的分配的策略一定是这样的:除原创 2014-01-09 16:47:46 · 1069 阅读 · 0 评论 -
POJ 3544 Journey with Pigs (贪心+排序不等式)
题意: FJ从A到B村,之间有n个村,已知每个村猪肉的价格,和离A的距离。每斤猪肉的运费已知。每只猪的重量已知。 每个村能卖一头猪,求合理安排得到的最大收益。 思路: 首先根据村庄离A的距离和单位路程的花费,以及当地猪肉的价格,我们可以把到达每一个村庄卖猪单位重量 赚的钱算出来。然后,按收益降序排列,再把猪的重量降序排序,这时,根据排序不等式,就可以达到最原创 2014-01-09 15:05:43 · 1044 阅读 · 0 评论 -
poj 3262 Protecting the Flowers (贪心)
题意: 有n个牛在FJ的花园乱吃。 所以FJ要赶他们回牛棚。 每个牛在被赶走之前每秒吃Di个花朵。赶它回去FJ要花的时间是Ti。在被赶走的过程中牛就不能乱吃了 分析: 1、优先赶吃单位时间内吃花快的牛。 2、注意大数陷阱。 #include #include using namespace std; struct node { i原创 2014-01-09 11:32:11 · 703 阅读 · 0 评论 -
poj 2376 Cleaning Shifts
题意:要覆盖到1-T这么长的时间。有n头牛,每头牛能工作的时间段给出。 问最少需要几头牛。 分析: 1、按开始时间最小的排序,如果开始时间相同,结束时间越晚排在越前。 2、排序后第一个如果开始时间>1,则失败输出-1; 3、每次都选能覆盖到前一个终点+1且此时所选牛的结束时间最晚的(即覆盖时间最长的) #include #include #incl原创 2014-01-09 14:24:37 · 783 阅读 · 0 评论 -
poj 3253 Fence Repair (贪心+哈弗曼思想+优先队列)
题意:一根棒据N-1次得到给定长度的N段,求最少花费。每次的花费为当前要一分为2的棒长。 分析:就是哈弗曼树那个思想的应用,但只有优先队列不会超时。因为每次合并加入后都要排序,不用优先队列费时。 哈哈,学了哈弗曼树后第一次用上。。。 #include #include #include using namespace std; int main() { int n,原创 2014-01-09 10:55:28 · 886 阅读 · 0 评论 -
hdu 4004 The Frog's Games (二分+贪心)
题意: 一条长为L(原创 2014-11-22 09:40:59 · 639 阅读 · 0 评论