![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增
fyc_kabuto
一个蒟蒻程序员
展开
-
bzoj 2783: [JLOI2012]树
题意:求一颗树上所有权值和为s的链。题解:看了半天题…… 其实是不能折的路径。 所以直接枚举点+倍增就好了。原创 2017-09-03 15:33:06 · 226 阅读 · 0 评论 -
bzoj 4242: 水壶
玄学最小生成树原创 2017-10-17 21:56:26 · 284 阅读 · 0 评论 -
poj 3728 The merchant
题意:求树上x->y的路径最大差值,且大的权在小的权之后。题解:挺好的一道经典陈题。 首先好像有种差分+树剖的做法,但太恶心。 扫一眼题解,发现要维护一大堆东西,于是YY了下,好像可以。 大概是这样的:struct trnode{ int dis,fa[20],max[20],min[20],up[20],down[20];}tr[50010];分别是,x的2i2^i的祖先,这一段上原创 2017-09-21 21:50:19 · 266 阅读 · 0 评论 -
bzoj 4569: [Scoi2016]萌萌哒
并查集原创 2017-11-07 07:54:04 · 203 阅读 · 0 评论 -
bzoj 4144: [AMPPZ2014]Petrol
题意:给定一个n个点、m条边的带权无向图,其中有s个点是加油站。 每辆车都有一个油量上限b,即每次行走距离不能超过b,但在加油站可以补满。 q次询问,每次给出x,y,b,表示出发点是x,终点是y,油量上限为b,且保证x点和y点都是加油站,请回答能否从x走到y。题解:关键是要求出加油站之间的最小生成树,然后倍增求最大值。 用类似bzoj 4242的方法即可。 各种sb错误调了...原创 2018-03-08 09:54:31 · 316 阅读 · 0 评论 -
bzoj 4180: 字符串计数
题意:SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999。 他给出了一个字符串T,字符串T中有且仅有4种字符 ‘A’, ‘B’, ‘C’, ‘D’。现在他要求蒟蒻yts1999构造一个新的字符串S,构造的方法是:进行多次操作,每一次操作选择T的一个子串,将其加入S的末尾。 对于一个可构造出的字符串S,可能有多种构造方案,Oxer定义构造字符串S所...原创 2018-03-20 21:50:53 · 293 阅读 · 0 评论 -
codeforces:G. PolandBall and Many Other Balls
题意:从n个连续的球中选出m组,每组也要连续且最多有两个,问方案数。题解:暴力dp很好写:f[i][j]=f[i−1][j]+f[i−1][j−1]+f[i−2][j−1]f[i][j]=f[i−1][j]+f[i−1][j−1]+f[i−2][j−1]f[i][j]=f[i-1][j]+f[i-1][j-1]+f[i-2][j-1] 因为n很大,m很小,所以可以考虑倍增+卷积。 ...原创 2018-04-12 15:41:41 · 343 阅读 · 1 评论 -
loj 2718. 「NOI2018」归程
题意:给一个图,每次询问从某个点出发,先坐车经过一些权值大于ppp的边,然后下车走到1,问走的最短距离,强制在线。题解:蒟蒻选手没有去noi,听说这是道签到题,看下能否成功签到。 因为知道是kruskal重构树所以就成功签到了啦啦啦。 建出最大kruskal重构树,因为重构树上的点的点权是由根至叶子递增的,倍增找到那个点,其子树就是起始点出发能到的点,dij预处理即可。 多组数据...原创 2018-07-28 15:58:10 · 266 阅读 · 1 评论 -
3133: [Baltic2013]ballmachine
题解:第一步,读懂题,可以看下discuss那么对每个球求出优先级,开个堆记录当前有什么空位再开个线段树记录每个点最上面的点的深度,倍增上去修改即可code:#include<queue>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>...原创 2019-01-30 09:36:41 · 265 阅读 · 0 评论