贪心
LIN452
(*╹▽╹*)
展开
-
BZOJ2796/POI2012 Fibonacci Representation
Task Fib数列0,1,1,2,3,5,8,13,21。 给出一个数字,用FIB数列各项加加减减来得到。例如 10=5+5 19=21-2 求出通过加减得到K的最少项数. 1<=K<=10^17.Solution 有一个贪心的思路,每次找到离K最近的两项f(i),f(i+1),再把问题转化为求K-f(i),f(i+1)-K即可.用计划搜索优化.我是将10^7以内的数原创 2016-10-09 20:22:17 · 466 阅读 · 0 评论 -
BOZJ1528/POI 2005Toy Cars
假设地板上能放足够多的玩具,那么肯定一次性将所有玩具都拿下来.可是题目中有了k这个限制.为了完成题目的要求,不得不将某些玩具拿回去,使得新玩具有地方放置.那么问题就是将什么玩具拿回去.如果某个玩具x之后不再出现,那么一定将它拿走,既不会对答案产生影响,又有利于以后的玩具放置.万一没有不再用的玩具了,只能将某个暂时不玩但以后还要玩的玩具y,要选择的是下一次出现的时间最晚的玩具y. 对于每个y,拿回架原创 2016-10-27 07:06:29 · 584 阅读 · 0 评论 -
BZOJ2802/POI 2012 Warehouse Store
Task 有一家专卖一种商品的店,考虑连续的n天。 第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他。 如果要满足顾客的需求,就必须要有足够的库存。问最多能够满足多少个顾客的需求。 n<=250,000,0<=Ai<=10^9,0<=Bi<=10^9.Solution 贪心. 在第i天库存足够时,就满原创 2016-10-17 17:50:15 · 364 阅读 · 0 评论 -
BZOJ3060/POI 2012 Tour de Byteotia
Task 给定一个n个点m条边的无向图,问最少删掉多少条边能使得编号小于等于k的点都不在环上。 1 ≤ n ≤ 1,000,000,1 ≤ m ≤ 2,000,000,1 ≤ k ≤ n。 Solution 对于删边不容易解决的情况,可以”正难则反”,考虑是否能求出最多能加的边.对于两个节点都在[k+1,n]范围内的边(设为1类边),直接加到图中(过程1).全部加完之后,把一个联通块原创 2016-10-08 19:53:24 · 453 阅读 · 0 评论