分治
文章平均质量分 90
LIN452
(*╹▽╹*)
展开
-
HDU5808(Bestcoder Round86)Price List Strike Back
题目戳这假如我们已知第i天可以购买的所有商品,那么剩下就是01背包的问题了.能够购买的所有商品由两个条件决定:编号下标和距离.我们可以减少一个维度使问题更简单.假如把询问和点一起按照距离d排序,那么就能保证询问到i时,所有考虑到的点x一定满足dis[x]<=didis[x]<=di这一条件.现在问题就转化成了:询问:在[Li,Ri][Li,Ri]区间中能否找到一些点满足其价值之和=sumisumi.原创 2016-10-09 18:49:22 · 802 阅读 · 0 评论 -
IOI2011 race
Task: 给定一棵带权树,求出边数最小的一条路径使得路径长度为K. 1 ≤ N ≤ 200000 ,1 ≤ K ≤ 1000000Solution: 枚举路径的lca为节点x,只考虑一定经过x的路径. 再枚举其中的一个端点y,设y到x的距离为d1,确定了y,我们就知道了路径另一个端点到x的距离了,现在问题就是求出到x点距离为K-d1的路径的最少边数,那么只要在遍历x子树过程原创 2016-10-08 14:13:13 · 504 阅读 · 0 评论