
倍增
文章平均质量分 54
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
Nearest Common Ancestors_poj1330_LCA
DescriptionA rooted tree is a well-known data structure in computer science and engineering. An example is shown below: In the figure, each node is labeled with an integer from {1, 2,…,16}. Node 8 is t原创 2016-07-08 17:24:36 · 585 阅读 · 0 评论 -
jzoj5844 c 倍增
Description给定一个无向连通图,n 个点(下标从 1 开始),m 条边,每条边有一个颜色。保证无自环,没有长度超过 2 的简单环。 现有 q 个询问:给出两个点 x、y,选择一条 x 到 y 简单路径(不经过重复的点),经过的边将形成一个颜色序列,价值为相同颜色的极大连续段个数,求出最大的价值。 Solution人均3k码量,鸣谢LZH犇给的的对拍 一开始就...原创 2018-08-23 20:38:52 · 217 阅读 · 0 评论 -
bzoj4568 [Scoi2016]幸运数字 倍增+线性基
DescriptionA 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个 幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A 国。旅行者计划 乘飞机降落在 x 号城市,沿着 x 号城市到 y 号城市之间那条唯一的路径游览,最终从 y 城市起飞离开 A 国。 在经过每一座城市时,游览者就会有...原创 2018-09-05 21:04:40 · 212 阅读 · 0 评论 -
jzoj5865 假期旅行 线段树+倍增
DescriptionSolution看了题解才知道啥是ISIJ,infleaking好强啊%%%记a[i]为从i往右走不换座位能走到的最右端。我们离线然后合并同一座位相交的线段,用线段树维护一下这个a 可以发现i向a[i]连边组成了一棵树,于是问题变成求两个点的深度差,这个用倍增做就行了Code#include <stdio.h>#in...原创 2018-09-12 21:15:54 · 302 阅读 · 0 评论 -
cf875D High Cry 单调栈+倍增
Description给你一个长度为 n 的数列 ai,求满足区间或 > 区间最大值的区间个数。Disclaimer: there are lots of untranslateable puns in the Russian version of the statement, so there is one more reason for you to learn Russian ...原创 2018-09-25 21:37:03 · 307 阅读 · 0 评论 -
bzoj1977 [BeiJing2010组队]次小生成树 Tree 倍增
Description小 C 最近学了很多最小生成树的算法,Prim 算法、Kurskal 算法、消圈算法等等。 正当小 C 洋洋得意之时,小 P 又来泼小 C 冷水了。小 P 说,让小 C 求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说: 如果最小生成树选择的边集是 EM,严格次小生成树选择的边集是 ES,那么需要满足:(value(e) 表示边 e的权值) 这下小...原创 2018-10-17 10:19:02 · 366 阅读 · 0 评论 -
bzoj2125 最短路 圆方树+倍增
Description给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径。对于100%的数据,N<=10000,Q<=10000Solution写到怀疑人生。。给定的图是一个仙人掌,于是可以愉快地建圆方树。我们记每个环内dfs序最小的圆点为top,维护top到剩余点的距离记为dis,对环上的圆点做距离的前缀和。数据不大这一步...原创 2018-10-17 16:48:22 · 345 阅读 · 0 评论 -
bzoj4381 [POI2015]Odwiedziny 分块+倍增
Description给定一棵n个点的树,树上每条边的长度都为1,第i个点的权值为a[i]。Byteasar想要走遍这整棵树,他会按照某个1到n的全排列b走n-1次,第i次他会从b[i]点走到b[i+1]点,并且这一次的步伐大小为c[i]。对于一次行走,假设起点为x,终点为y,步伐为k,那么Byteasar会从x开始,每步往前走k步,如果最后不足k步就能到达y,那么他会一步走到y。请帮助...原创 2019-01-05 09:06:27 · 242 阅读 · 0 评论 -
CF1142B Lynyrd Skynyrd 倍增+可持久化线段树
Description给一个n排列p,一个长为m的序列a,q次询问[l,r]求l到r是否存在长度为n的子序列恰好与p循环同构n,m,q≤2∗105n,m,q\le 2*10^5n,m,q≤2∗105Solution用图表示这个东西就是a按照p中的顺序向后连边,题目就等价于问l到r能不能走完n-1步了考虑倍增这个东西,那么我们就能求出以x为起点向后n-1步最前到哪里,然后可持久化线段树...原创 2019-04-07 11:48:13 · 259 阅读 · 0 评论 -
vijos lxhgww的奇思妙想 长链剖分
Description给一棵n个节点的树,m次询问一个节点x的k级祖先。强制在线Solution一个做法是倍增另一个做法是长链剖分。同重链剖分一样,我们定义深度最大叶子所在儿子作为长儿子。一个性质是,节点x的k级祖先所在重链长度不会小于k。正确性的话可以考虑反证一下。也就是说,我们取出k的最高位二进制设为r。我们先让x向上跳r步,r所在的重链长度至少为r。对于每条重链我们维护它向上...原创 2019-04-13 13:59:29 · 221 阅读 · 0 评论 -
bzoj2165 大楼 floyd+倍增
Descriptionxz是一个旅游爱好者,这次他来到了一座新的城市。城市中央有一幢高耸入云的大楼。这幢楼到底有多少层呢?据说和非负整数的个数是一样多的。xz想爬上这座大楼来观赏新城市的全景。这幢大楼的楼层从下至上用从小到大的非负整数编号。每层楼有n个房间,用1到n的正整数编号。楼层之间用电梯连接,电梯只能上行,不能下行或者同层移动。(下楼一般自行解决)电梯用(u,v,w)的形式给出,表示...原创 2018-05-27 20:22:21 · 335 阅读 · 0 评论 -
bzoj2085 [Poi2010]Hamsters 哈希+倍增
DescriptionTz养了一群仓鼠,他们都有英文小写的名字,现在Tz想用一个字母序列来表示他们的名字,只要他们的名字是字母序列中的一个子串就算,出现多次可以重复计算。现在Tz想好了要出现多少个名字,请你求出最短的字母序列的长度是多少。1<=n<=200 1<=m<=10^9Solution一开始完全没看到m的范围于是傻了,被文化课吊打后还要...原创 2018-05-07 20:03:30 · 368 阅读 · 0 评论 -
bzoj2093 [Poi2010]Frog 倍增
Description一个条河无限宽,上面有n块石头,石头离左边的河岸(无限宽,右边河岸不晓得在哪)距离严格递增,现在Zxl想锻炼自己的跳跃能力(谁叫他在班里外号是鸟怪。。畸形),他在某一块石头上,想跳到离他这块石头第k远的石头上去,假如离他第k远的石头不是唯一的,他就选离岸最近的那一个(不然回不去了),他想你让他知道,从每块石头开始跳了m次后,自己在哪。n, k <= 1,00...原创 2018-04-26 08:52:55 · 292 阅读 · 0 评论 -
商务旅行_codevs1036_lca
Description 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间。 假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任意两个城镇之间如果有直连道路,在他们之间行驶需要花费单位时间。该国公路网络发达,从首都出发能到达任意一个城镇,并且公路网络不会存在环。 你的任务是帮助该商人计算一下他的最短旅行时间。 Input原创 2016-09-21 21:46:15 · 729 阅读 · 0 评论 -
货车运输 洛谷1967 最大生成树 lca c++
题目描述A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入输出格式输入格式:输入文件名为 truck.in。 输入文件第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。接下来 m 行每行 3 个整数 x、原创 2017-02-11 16:03:02 · 764 阅读 · 0 评论 -
进化序列 jzoj3518 倍增
DescriptionAbathur采集了一系列Primal Zerg 的基因样本,这些基因构成了一个完整的进化链。为了方便,我们用A0,A1…An-1 这n 个正整数描述它们。一个基因Ax 可以进化为序列中在它之后的基因Ay。这个进化的复杂度,等于Ax | Ax+1…| Ay的值,其中| 是二进制或运算。Abathur 认为复杂度小于M 的进化的被认为是温和的。它希望计算出温和的进化的对数。Inp原创 2017-07-12 00:27:58 · 420 阅读 · 0 评论 -
2017年10月6日提高组T2 猫公司
DescriptionInputOutputHintSolution如果每次修改的不是最长边,那么修改将毫无意义。因此只会对某一路径上的最长边进行修改,且易得改动的边的变化长度dlen*经过次数t一定是最大的考虑到有可能最长边len1-L<次长边len2,此时的最长边就变成了len2,减少的长度实际为len1-len2,那么树上倍增的同时记录最长边和次长边,把所有路径算出来即可找到答案这倍增真尼玛难原创 2017-10-11 17:24:01 · 207 阅读 · 0 评论 -
2017年10月5提高组T1 直径
DescriptionInputOutputHintSolution类似的,这样的题目我们可以考虑倒过来离线做,这样就变成了不断加边的步骤,用并查集维护一下合并的小树,同时记录子树内的直径一个结论:两棵树合并后直径的两个端点,一定是两棵树各自直径共四个端点中的两个 这样我们用带权的并查集+倍增搞一搞就可以了最近打这种几k的题目都不太顺手啊Code#include <stdio.h>#includ原创 2017-10-11 21:53:50 · 469 阅读 · 0 评论 -
jzoj1738. Heatwave
Description 给你N个点的无向连通图,图中有M条边,第j条边的长度为: d_j. 现在有 K个询问。 每个询问的格式是:A B,表示询问从A点走到B点的所有路径中,最长的边最小值是多少?Input 文件名为heatwave.in 第一行: N, M, K。 第2..M+1行: 三个正整数:X, Y, and D (1 <= X <=N; 1 <= Y <= N)原创 2017-10-21 23:24:50 · 426 阅读 · 0 评论 -
jzoj3555 【GDKOI2014模拟】树的直径 lca+离线
Description科学家在观测一棵大树,这棵树在不断地生长,科学家给这棵树的每个节点编了号。开始的时候,这棵树很小只有4个节点,一号点为根,其他三个节点挂在上面。在接下来的M次观察中,科学家每次都能看见这棵树从叶子处长出新的两个节点来。如果当前这棵树有N个节点,那么这棵树的新的两个节点的编号分别为N+1,N+2。科学家记录下了这棵树生长的过程,需要你帮着计算这棵树实时的直径。树的直径就是这棵树最原创 2017-12-07 16:57:13 · 441 阅读 · 0 评论 -
bzoj2144 [2011集训队出题] 跳跳棋 倍增 lca
Description 跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。 我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置。我们要通过最少的跳动把他们的位置移动成x,y,z。(棋子是没有区别的) 跳动的规则很简单,任意选一颗棋子,对一颗中轴棋子跳动。跳动后两颗棋子距离不变。一次只允许跳过1颗棋子。 写一个程序,首先判断原创 2017-12-28 20:04:58 · 448 阅读 · 0 评论 -
bzoj3083 遥远的国度 树链剖分+lca
Descriptionzcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度。当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcwwzdjn的去路,他需要zcwwzdjn完成任务后才能进入遥远的国度继续追杀。问题是这样的:遥远的国度有n个城市,这些城市之间由一些路连接且这些城市构成了一颗树。这个国度有一个首都,我们可以把这个首都看做整棵树的根,但遥原创 2018-01-05 22:00:22 · 262 阅读 · 0 评论 -
bzoj4569 [Scoi2016]萌萌哒
Description一个长度为n的大数,用S1S2S3…Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条 件表示为四个数,l1,r1,l2,r2,即两个长度相同的区间,表示子串Sl1Sl1+1Sl1+2…Sr1与Sl2Sl2+1Sl2+2…S r2完全相同。比如n=6时,某限制条件l1=1,r1=3,l2=4,r2=6,那么123123,351351均满...原创 2018-03-14 20:19:12 · 178 阅读 · 0 评论 -
CF1103B B Game with modulo 交互题 倍增 二分答案
Description交互题有一个未知数a,你可以询问? x y,题目会回答你[(x%a)>=(y%a)]。问能否在60次询问内找到这个aSolution可以发现若? x y回答了"x",那么可以保证a在区间[x+1,y]内,于是一个比较显然的响法就是我们二分这个区间,但这样是错的考虑f(x)=x%a这个函数的图像,大概长这样我们要找的实际上就是这个函数的第一个零点,而若我...原创 2019-04-14 21:07:49 · 309 阅读 · 0 评论