倍增算法
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
-
【NOIP2012提高组】疫情控制
Description给出一颗n个节点有边权的树 和m个军队所在的位置 军队从某节点移动到相邻节点要花费边长度的时间 求最少要多少时间使得根节点(编号为1)到每个叶子的路径上最少有一支军队(根节点不能有军队)Solution这题第一眼看上去就像树形DP,然而想复杂了。二分答案求什么最大或最小之类的,肯定要用二分。小贪心我们发现每个军队走得越上,贡献越大。很显然。怎么做既然是越往上越优,那么我们都往上原创 2016-03-29 20:27:37 · 3306 阅读 · 0 评论 -
【GDOI模拟】富爷说是一棵树
Description富爷说来一棵树,于是大头栽了一棵树。树大了,有n个点和n - 1条边,任意两个点都是联通的,点的标号为1 - n。爱树的大头和富爷在树上安居乐业,但大头住在u,而富爷住在v,他们都很不高兴,因为u到v有且只有一条简单路径。 当然了,树王富爷找到了解决办法,他打算带着大头再给树建一条边(保证不是自环),而且他们会在n * (n - 1) / 2的方案中随机选择一种。 但,要让原创 2016-09-25 10:11:16 · 651 阅读 · 1 评论 -
【NOIP模拟】Map
DescriptionSolution这是一道水题。 首先对原图进行边的双连通分量,那么很显然,在两个不同的联通分量中的点对就是不安全的点对,同在相同的连通分量中的点对就是安全点对。 那么假如有两个连通分量互相连边,那么就会有一群连通分量合并为一个大的连通分量。 那么要如何实现呢?tarjan缩点这是一个很显然而且很经典的想法。 先对原图用tarjan缩点(每个点存储它点的个数),然后缩完点原创 2016-09-19 14:28:53 · 861 阅读 · 0 评论 -
【NOIP模拟】被粉碎的线段树
DescriptionSolution不会做啊!打了个贪心,没有加倍增,然后在打了几个特殊情况拿了85分。 其实答案有一个性质:区间的定位个数=2*区间的长度-完全被包含的区间个数,比如说[2,7]的答案=(7-2+1)*2-9=3,包含的区间([2,2],[3,3],[4,4],[5,5],[2,3],[5,7],[6,7],[6,6],[7,7])。 好神奇啊! 为什么NIE?(感觉我原创 2016-09-03 20:20:14 · 641 阅读 · 0 评论 -
【BZOJ 2144】Throw
DescriptionSolution构造树形模式三个点可以用一个状态S(x,y,z)来表示,要满足x≤y≤z。 每个状态可以向左边走S(x,x-(y-x),z),也可以向右边走S(x,z+(z-y),z)。 向中间走的话只会扩展出一个状态: 情况1:如果y-x < z-y,那么可以得出状态S(x+(y-x),y,z) 情况2:如果y-x > z-y,那么可以得出状态S(x,y,y-(z-y原创 2016-08-15 22:56:51 · 1236 阅读 · 0 评论 -
【NOIP模拟】弄提纲
Description新日暮里中,比冲是一位博学的哲学教授。由于最近要帮学生准备考试,他决定弄个提纲给学生。然而同事van不服气,觉得这样学生就没有了自我思考,便在提纲中添加废话。 比冲很无奈,他想找回原稿。我们把现在的提纲看成是一个字符串S。他知道van只会在原稿结尾添加语句,也就是说,原稿是S的前缀。 现在比冲有m个询问,以此来找出原稿。每次给出两个位置l,r,问以l与r结尾的字符串中,有多原创 2016-07-19 20:11:12 · 623 阅读 · 0 评论 -
【CF 609E】Street
Description给出n个点,m条有权边,现对于每一条边,你需要回答出包含这条边的最小生成树的总边权值。Solution有一道很像的题目电话线铺设,而且这题还比电话线铺设水很多。观察数据发现数据很大,又都在int范围内,还有求和求积之类的操作,就要开long long。Code#include<iostream>#include<cstdio>#include<cstring>#inclu原创 2016-07-08 19:35:28 · 827 阅读 · 0 评论 -
【NOIP模拟】Angel Beats!
Description天使立华奏攻入了死后世界战线(SSS)的地下工会Guild,这是万分危急的时候。仲村由理指挥工会成员有条不紊地进行撤退工作。工会成员在Guild最深层工厂安放炸药需要很长的准备时间,需要有人来拖延立华奏的前进速度。但是他们并不清楚立华奏的具体位置,因此他们需要设立许多个防御点。 Guild的结构可以看成一棵有n 个节点的树,有时由理会得到立华奏的大概位置,可能在某两棵子树的任原创 2016-07-18 09:33:29 · 1537 阅读 · 0 评论 -
【NOIP2012提高组】开车旅行
Description现在有n个城市,每个城市有它的高度Hi,保证每个Hi互不相同。我们定义两个城市之间的距离dis(i,j)=|Hi−Hj|dis(i,j)=|Hi−Hj|,并且只能从编号小的城市去到编号大的城市。现在有两个人,小A和小B要开车(雾)去旅行。小A先开一天,小B再开一天。每一天都可以从一个开到另一个城市。小A会选择去离当前城市第二近的城市,小B会选择去离当前城市最近的那个城市。如果他原创 2016-03-18 18:58:44 · 1494 阅读 · 0 评论 -
JZOJ 3824【NOIP2014模拟9.9】渴
Description世界干涸,Zyh认为这个世界的人们离不开水,于是身为神的他要将他掌控的仅仅两个水源地放置在某两个不同的城市。这个世界的城市因为荒芜,他们仅仅保留了必要的道路,也就是说对于任意两个城市有且仅有一条可行的道路。更简单的,城市形成了一棵树。 Zyh要将这两个水源放在两个不同的城市。饥渴的人们会选择一个离他们最近的水源,并向其走去。每个城市的人的速度都是相同的,并且两个相邻(有边直接原创 2017-01-14 21:38:11 · 1185 阅读 · 0 评论