E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
树上倍增)
【暖*墟】#洛谷网课1.30# 树上问题
树上倍增
基环外向树DPDFS序与欧拉序树链剖分可以参考wjyyy的https://www.wjyyy.top/421.htmlwjyyy是这样说的:树链剖分是一种优化,将树上最常经过的几条链划为重点,用线段树来优化区间修改和查询
Christy2222
·
2024-02-05 01:28
数据结构与算法
算法学习记录:有关树的基础
目录前言:正文:例题集:1.蓝桥OJ8617:LCA
树上倍增
2.模型题:树型DP正文:对于一般的树:数据量小时,用二维数组存储。数据量大时,链式
D.Thrive
·
2024-01-29 07:26
学习
第 3 场 小白入门赛(1~6) + 第 3 场 强者挑战赛 (1 ~ 5)
第3场小白入门赛1、厉不厉害你坤哥(暴力)2、思维3、暴力,前缀和,贪心4、二分5、DP6、容斥,双指针第3场强者挑战赛2、BFS5、
树上倍增
求第k祖先1.召唤神坤题意:可以发现,如果我们钦定练习生,那么舞力值的
今天补题了么
·
2024-01-14 08:29
算法
数据结构
c++
蓝桥杯
[leetcode ~模版] 周赛模版
有两个输入,两个都需要遍历完3.滑动窗口4.快慢指针前缀和字符串1.高效的字符串构建链表1.反转链表数组1.找到符合确切条件的子数组数单调栈二叉树DFS递归DFS迭代BFS贪心图论DFS递归DFS迭代BFS
树上倍增
堆前
程序员三木
·
2023-12-05 10:40
数据结构与算法
leetcode
算法
职场和发展
BZOJ-1977: [BeiJing2010组队]次小生成树 Tree(MST+
树上倍增
)
明显直接O(n^2)暴力会跪,瓶颈失求树上路径最大边,那么就用
树上倍增
(OrzCLJ神牛的类Tarjan
AmadeusChan
·
2023-11-26 15:53
每日一题 P3128 [USACO15DEC]Max Flow P LCA倍增 lazy离线处理做法
每日一题P3128[USACO15DEC]MaxFlowPLCA倍增lazy离线处理做法又是一道
树上倍增
的绿题,思路依旧很简单。
GreyKa
·
2023-11-04 17:40
算法竞赛每日一题
算法
数据结构
2020-2021 ACM-ICPC Brazil Subregional Programming Contest E题 Party Company【
树上倍增
+树状数组维护】
题目链接https://codeforces.ml/gym/102861/problem/E题意给你n个结点的树,每个点有一个权值,保证所有父节点的权值大于等于其子结点的权值,再给你m个范围为[l,r]的party和它们所在的点(theownerofthisparty)。对于某个点u,若其直接相连的父结点或子结点有party且u点权值在其父结点或子结点的party的[l,r]范围内,那么点u就加入
nefu-ljw
·
2023-10-24 11:51
#
ACM-区域赛/网络赛
#
ACM-数据结构
算法
数据结构
倍增
树状数组
dfs
Codeforces 1878G 枚举 +
树上倍增
题意传送门Codeforces1878GwxhtzdyOROTree题解答案依赖于查询的路径上的所有点。按位与具备单调性,可以仅枚举路径上各个数位上的111第一次出现的位置,这样的位置规模为O(logmax{a})O(\log\max\{a\})O(logmax{a})。自顶而下维护各个数位上111出现的深度最大的节点,此时可以处理出u→lca(u,v)u\rightarrowlca(u,v)
SHOHOKUKU
·
2023-10-15 03:40
基本算法
图论
算法
(枚举 +
树上倍增
)Codeforces Round 900 (Div. 3) G
Problem-G-Codeforces题意:思路:首先,目标值和结点权值是直接联系的,最值不可能直接贪心,一定是考虑去枚举一些东西,依靠这种枚举可以遍历所有的有效情况,思考的方向一定是枚举如果去直接在链上枚举的话,复杂度是O(nq),肯定不行注意到一条路径上的前缀或值不会超过logV个,因此考虑枚举前缀或值关于每次跳使前缀或值变化的最深的点,我是这样理解的如果考虑在链上枚举,如果前缀或值不变,那
lamentropetion
·
2023-10-04 04:57
枚举
trees
动态规划
算法
树上倍增
无论如何跟着father更新,如果讨论麻烦请重载,尽管常数有点大严格次小生成树#includeusingnamespacestd;#defineintlonglonginlinechargc(){staticconstintN=1'9')c=='-'&&(n=1),c=gc();while(c>='0'&&c1?temp[m-2]:0};}};structEdge{intu,v,w;boolope
Loboqui
·
2023-09-22 20:56
【力扣周赛】第 360 场周赛(贪心 & ⭐
树上倍增
)
找出美丽数组的最小和(贪心)Q3:2835.使子序列的和等于目标的最少操作次数(贪心)思路竞赛时丑陋代码(有一说一没眼看,现在已经忘了当时是怎么想的了)优雅代码Q4:2836.在传球游戏中最大化函数值(⭐⭐⭐⭐⭐
树上倍增
小威W
·
2023-09-07 17:42
算法刷题记录
Java
周赛
力扣
leetcode
树上倍增
贪心
倍增思想
【力扣周赛】第 361 场周赛(⭐前缀和+哈希表 &
树上倍增
、LCA⭐)
、00、25、50、75Q3:2845.统计趣味子数组的数目竞赛时代码——前缀和+哈希表相似题目——1590.使数组和能被P整除(确实很相似的题目)Q4:2846.边权重均等查询⭐⭐⭐⭐⭐读题解法——
树上倍增
小威W
·
2023-09-05 16:41
算法刷题记录
leetcode
java
周赛
算法
前缀和
哈希表
树上倍增
【算法】
树上倍增
& LCA
【力扣周赛】第360场周赛(⭐
树上倍增
)【力扣周赛】第361场周赛(⭐
树上倍增
、LCA)模板题目1483.树节点的第K个祖先https://leetcode.cn/
小威W
·
2023-09-05 16:10
算法
算法
树上倍增
最近公共祖先
LCA
倍增
树
图
周赛360(脑经急转弯、贪心、
树上倍增
)
文章目录周赛360[2833.距离原点最远的点](https://leetcode.cn/problems/furthest-point-from-origin/)脑经急转弯[2834.找出美丽数组的最小和](https://leetcode.cn/problems/find-the-minimum-possible-sum-of-a-beautiful-array/)贪心[2835.使子序列的和
Miraclo_acc
·
2023-08-30 03:04
算法刷题记录
leetcode
LeetCode 周赛上分之旅 #42 当 LeetCode 考
树上倍增
,出题的趋势在变化吗
⭐️本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]和BaguTreePro知识星球提问。学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场LeetCode周赛的解题报告,一起体会上分之旅。本文是LeetCode上分之旅系列的第42篇文章,往期回顾请移步到文章末尾\~周赛36
·
2023-08-28 10:18
前端
力扣 1483. 树节点的第 K 个祖先
力扣1483.树节点的第K个祖先题目地址:https://leetcode.cn/problems/kth-ancestor-of-a-tree-node/暴力查找(超时)哈希查找(超空间)
树上倍增
预处理
web_wyj
·
2023-06-13 22:54
leetcode
算法
树节点的第 K 个祖先(
树上倍增
算法)
1483.树节点的第K个祖先难度困难134给你一棵树,树上有n个节点,按从0到n-1编号。树以父节点数组的形式给出,其中parent[i]是节点i的父节点。树的根节点是编号为0的节点。树节点的第k个祖先节点是从该节点到根节点路径上的第k个节点。实现TreeAncestor类:TreeAncestor(intn,int[]parent)对树和父数组中的节点数初始化对象。getKthAncestor`
Miraclo_acc
·
2023-06-13 01:57
算法刷题记录
算法
数据结构
leetcode
NC237662 葫芦的考验之定位子串(SAM + 后缀链接
树上倍增
)
显然暴力是会超时的,使用
树上倍增
即可,这里我们使用dfs预处理
树上倍增
要用的pa数组。
Brightess
·
2023-04-18 13:55
数据结构
数据结构
算法
深度优先
(第十四届蓝桥杯真题)景区导游
641211313423524632651样例输出:1071314分析:这就是一道lca板子题,lca就是可以在o(logn)的时间复杂度内求解树上两个节点的最近公共祖先的算法,不懂lca的小伙伴可以看这里:最近公共祖先(LCA)(
树上倍增
AC__dream
·
2023-04-10 12:28
蓝桥杯
职场和发展
【Noip】考纲
、模拟√图论最短路(dijkstra、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,二分图匹配tarjan找scc、桥、割点,缩点分数规划树
树上倍增
weixin_30767835
·
2023-04-10 04:12
NOIP考纲
模拟√图论最短路(dijkstra、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树
树上倍增
安一825
·
2023-04-10 04:40
信息奥赛计算机基础知识
ABC267 F - Exactly K Steps
F-ExactlyKSteps(atcoder.jp)题意:思路:对于树上一个点跳到定长距离的点,最常见的做法就是
树上倍增
而树上的结点有一个很重要的性质:在这个连通图中和它距离最远的结点一定是直径的两端点之一因此我们一定向最长的方向跳
lamentropetion
·
2023-04-10 02:55
trees
数据结构
【代码源每日一题Div1】Dis「倍增求LCA维护树链异或和」
思路:一眼
树上倍增
求LCA维护路径异或fa[i][j]表示从i开始往上走的第2j个点fuck[i][j]表示从i开始往上走共2i个点的点权的异或和维护fuck数组的过程可以在求LCA的过程去维护需要注意的是
Chels.
·
2022-11-12 05:03
代码源每日一题
图论
深度优先
算法
图论
最近公共祖先之
树上倍增
求法
一、问题引入最近公共祖先(LCA)是求有根树上两点的深度最低的祖先节点,如下图,点5和点2的最近公共祖先为点4,点5和点3的最近公共祖先为点1,点5和点1的最近公共祖先为点1。二、朴素算法知道LCA定义后考虑最暴力的求解方法,可以先让在下面的点一层一层往上爬,直到两点具有相同深度(高度),之后两点同时一层一层往上爬,直到两点相同,这个相同的点就是最近公共祖先,若有m次询问,该算法时间复杂度为O(n
#这是一条注释。
·
2022-02-22 10:10
算法学习
图论
算法
Alyona and a tree (
树上倍增
+差分)
题意:来源(洛谷翻译题解:首先先转化一下问题,题目问当前结点(u)的子树中有多少个孩子(设为v)满足dis(u,v)usingnamespacestd;#defineintlonglong#defineendl'\n'constintmaxn=6e5+10;intmod=1e9+7;intn;inta[maxn];vector>edge[maxn];intdep[maxn],dis[maxn];i
昵称很长很长真是太好了
·
2021-05-06 14:38
codeforces
树上差分
树上倍增
求LCA
洛谷P3379题目描述输入格式输出格式输入输出题目链接题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入格式第一行包含三个正整数N,M,SN,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来N-1N−1行每行包含两个正整数x,yx,y,表示xx结点和yy结点之间有一条直接连接的边(数据保证可以构成树)。接下来MM行每行包含两个正整数a,ba,b,表示询问aa
PushyTao
·
2021-03-07 22:25
图论
数据结构
货车运输(最大生成树+
树上倍增
)
题目描述A国有nnn座城市,编号从111到nnn,城市之间有mmm条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有qqq辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入输入文件第一行有两个用一个空格隔开的整数nnn,mmm,表示AAA国有nnn座城市和mmm条道路。接下来m行每行3个整数xxx、yyy、zzz,每两个整数之间用一个空格隔开,表示从xx
qq_42883029
·
2020-09-14 00:15
树上倍增
最大生成树
NOIP2012Day1T3-开车旅行
其实森林也不用用边表去存储它,只要记录一下fa[i]fa[i],即ii点的下一个点就可以了小AA和小BB旅行就等价于在这些森林里跑,很容易想到
树上倍增
。
Jack-Oran
·
2020-09-14 00:19
=====图论=====
#
树上倍增
=====dp=====
#
基本dp
NOIP
【codevs3305】水果姐逛水果街2【
树上倍增
+dp】
题目描述Description水果姐第二天心情也很不错,又来逛水果街。突然,cgh又出现了。cgh施展了魔法,水果街变成了树结构(店与店之间只有一条唯一的路径)。同样还是n家水果店,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样。cgh给出m个问题,每个问题要求水果姐从第x家店出发到第y家店,途中只能选一家店买一个水果,然后选一家店(可以是同一家店,但不能往回走)卖出去。求最
sunshinezff
·
2020-09-13 02:06
树上倍增
【2020HDU多校】第三场1001(HDU6767)Tokitsukaze, CSL and Palindrome Game——回文自动机+
树上倍增
+Hash
题目链接(因为Windows的栈和Linux的栈不同,我被卡了3个小时,又因为HDU那个老化的机子,我又被卡了3个小时(标程本地跑1.7s,HDU上能跑4s,我的代码本地跑2.1sHDU上直接爆掉6s,只能说6s的时限很合理,但是HDU的机子实在太差))题意给你一个回文串,然后sjf和csl各从中选出一个子串,保证子串也是回文。随后还有另外一个串,这个串起始的时候为空,然后不断的随机向这个串中加入
NaruseShiroha
·
2020-09-11 02:15
ACM
#
树上倍增
#
字符串
「九省联考 2018」制胡窜 解题报告
显然要搞一个SAM,然后搞一个线段树合并,关于定位询问串搞一个
树上倍增
然后你考虑一个细节贼多的分类讨论应该是可以不求补集的,我最开始一直这么想但是有个东西不会维护后来发现是可以维护的...但是补集应该简单一点吧
weixin_30817749
·
2020-08-26 15:19
洛谷3379 【模板】最近公共祖先(LCA)
树上倍增
+LCA
题解
树上倍增
和普通的倍增原理是一样的,它的运用很广泛,除了求LCA外,在很多问题中都有应用倍增就是将状态空间中2的整数次幂的值作为代表,当要查询其它位置的值时,可以通过“任意整数可以表示成若干个2的次幂项的和
yjy_aii
·
2020-08-25 06:12
LCA
树上倍增
洛谷 - P4197 Peaks(Kruskal重构树+dfs序+主席树)
题目分析:因为有困难值的限制,所以可以对整个图跑克鲁斯卡尔重构树,如果对点v来说,只能走小于等于x的路径,可以
树上倍增
找到权值小于等于
Frozen_Guardian
·
2020-08-24 23:15
数据结构
主席树
dfs序
洛谷 - P4768 [NOI2018]归程(Kruskal重构树+
树上倍增
+最短路)
题目链接:点击查看题目大意:去原网址看吧题目分析:因为是在刷克鲁斯卡尔重构树的题目,所以稍微思考一下就能想出解法了,首先如果水位线固定了,剩下的边组成的最小生成树也是一定的,此时同一个连通块内的点对答案的贡献都是相同的,因为车子可以随便开,这样连通块的贡献,就是连通块内距离点1最近的点了这样如何找相应的连通块呢?可以对所有边降序排序,建立克鲁斯卡尔重构树,对于点x来说,找到权值大于水位线,且深度最
Frozen_Guardian
·
2020-08-24 23:15
数据结构
树上倍增
最短路
bzoj3051[WC2013]平面图(
树上倍增
+平面图转对偶图+扫描线)
简要题意:二维平面上n个点,点之间有一些连线,连线不在点之外的地方相交,将平面分为若干个区域。给出一些询问点对,问从这个点所在的区域走到另一个点所在的区域的最小代价。题解:这道题首先可以把平面图转对偶图,这一点比较容易发现。然后对于从左指向右的线段,运用扫描线的思想,扫到左端点加入平衡树,扫到右端点从平衡树中删除。因为两线互不相交,所以相对位置不变。然后建立平面直角坐标系,y轴可以随意左右平移。对
weixin_30685029
·
2020-08-24 06:17
[BZOJ3051][平面图][
树上倍增
]WC2013:平面图(附平面图简单介绍)
BZOJ3051平面图就是指一张图,其中的边有交点当且仅当它们有共同的顶点平面图的对偶图是指把平面图的每个封闭区域看成一个点,两个点之间有连边当且仅当它们在原图中有公共边,最外面算一个区域,它的有向面积为负,其他为正求平面图的对偶图:最小左转法:1.将所有无向边转变为两条有向边2.把所有有向边极角排序3.选择一条未被标记过的边作为now,从它的出边中选择一条极角序小于它的极角序最大的边,并将now
romiqi_new
·
2020-08-24 05:22
平面图
[luogu3379]最近公共祖先(
树上倍增
求LCA)
题意:求最近公共祖先。解题关键:三种方法,1、st表2、倍增法3、tarjan此次使用倍增模板(最好采用第一种,第二种纯粹是习惯)#include#include#include#include#include#includeusingnamespacestd;typedeflonglongll;intn,m,root,cnt,u,v,head[500005],dep[500005],fa[500
weixin_30505485
·
2020-08-23 03:54
[luogu p3379]【模板】最近公共祖先(LCA){
树上倍增
法}
题目https://www.luogu.org/problemnew/show/P3379解题思路(
树上倍增
)f[x][kf[x][kf[x][k表示xxx的2k2^{k}2k辈祖先,即从xxx向根节点走
心有猛虎|细嗅蔷薇
·
2020-08-23 02:36
LCA问题(/tarjan)
luogu 3379 最近公共祖先(
树上倍增
求LCA)
题目链接思路板子题,LCA有据我所知有暴力求法(过于暴力),
树上倍增
求法,tarjan(只能离线O(1)查询,不会)vector存图,需要氧气优化才能过,可能我写丑了。
ToRe.
·
2020-08-23 01:21
#
倍增
LCA
noi知识点
模拟图论图最短路(dijkstra、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树
树上倍增
weixin_38166931
·
2020-08-20 04:45
考点1
模拟图论图最短路(dijkstra、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树
树上倍增
weixin_34144848
·
2020-08-20 04:07
【bzoj2953】【poi2002】【商务旅行】【
树上倍增
】
Description某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间。假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任意两个城镇之间如果有直连道路,在他们之间行驶需要花费单位时间。该国公路网络发达,从首都出发能到达任意一个城镇,并且公路网络不会存在环。你的任务是帮助该商人计算一下他的最短旅行时间。Input第一行有一个整数N,1b
sunshinezff
·
2020-08-20 04:10
树上倍增
疫情控制 二分+
树上倍增
+思维+贪心
一道树上难题!首先:时间肯定越长越好,我们可以二分转化为判规定时间是否可行从而简化问题。然后我们发现,一个节点肯定越靠近根节点其管辖的节点越多,也越优。在规定时间内,所有节点尽量往根节点靠近。执行完靠近后出现两类军队:1:停在根节点的儿子节点。2:停在非根节点的儿子节点。第1类军队涉及到是否移动到根节点再移动到某个根节点的儿子节点。我们把根节点的儿子节点的集合设为S。先不考虑第一类节点移动的问题。
夕林山寸
·
2020-08-19 09:10
图论----树上问题
算法竞赛——进阶指南
[后缀自动机 阈值] LOJ#6031. 「雅礼集训 2017 Day1」字符串
对k阈值如果k≤S枚举询问串的每个子串,在后缀自动机上找到对应的节点就可以了O(qkk2logn)如果k>S枚举询问串的前缀,找到对应节点,每个和这个前缀相关的询问是这个前缀的后缀,在fail
树上倍增
O
LowestJN
·
2020-08-19 07:12
后缀自动机
HDU-6031 Innumerable Ancestors(二分+
树上倍增
)
题意给一棵树,$m$次询问,每次询问给两个点集问从两个点集中各取一个点的$LCA$的最大深度。思路二分答案。对于某个二分过程中得到的$Mid$,如果可行则两个点集在$Mid$所在的深度存在公共的祖先。枚举点集内的点,倍增找到他在这个深度的祖先就行。代码#include#defineDBG(x)cerrst;queueQ;voidaddedge(intu,intv){edge[tot].to=v;e
weixin_30832405
·
2020-08-18 09:26
HDU 6031 Innumerable Ancestors (二分+
树上倍增
)
InnumerableAncestorsTimeLimit:10000/5000MS(Java/Others)MemoryLimit:131072/131072K(Java/Others)TotalSubmission(s):1854AcceptedSubmission(s):647ProblemDescriptionThereisatreehavingnnodes,labeledfrom1ton
_TCgogogo_
·
2020-08-18 08:42
ACM
二分/三分/两点法
图论
算法题
【
树上倍增
】【USACO MAR11银组】聚会地点
题目描述Bessie和Jon每天都要去他们所居住的小镇的某些地方游玩。有趣的是,他们居住的小镇是一个树的结构,也就意味是,小镇的每个地方之间有且仅有一条通路(不是指一条边,而是指一条通路),每个地方都会有且仅有一个父亲地点(除了小镇的城镇中心,它没有祖先)。小镇共有N个地点(1=0;i--)if(f[u][i]!=f[v][i]){u=f[u][i];v=f[v][i];}其实它就是从下往上找,找
C20180630_zjf
·
2020-08-18 07:49
#
C++
#
School
OJ
#
LCA
bzoj 2783 //2783: [JLOI2012]树 dfs 深搜+剪枝/
树上倍增
bzoj2783//2783:[JLOI2012]树//在线测评地址https://www.lydsy.com/JudgeOnline/problem.php?id=2783更多题解,详见https://blog.csdn.net/mrcrack/article/details/90228694BZOJ刷题记录方法一:dfs深搜+剪枝技术含量低,但掌握不易:2776kb368msC++/Edit7
mrcrack
·
2020-08-18 00:40
跟着大佬学算法
CodeForces - 980E The Number Games(贪心+
树上倍增
)
E.TheNumberGamestimelimitpertest3secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputThenationofPanelholdsanannualshowcalledTheNumberGames,whereeachdistrictinthenationwillberepr
LP_Cong
·
2020-08-17 23:51
————ACM相关————
——算法技巧——
ACM
-
倍增法
树上倍增
法求最近公共祖先LCA
LCA,最近公共祖先,这个东西有很多作用,因此,如何高效求出LCA就成了一个热点的讨论话题。下面所有的讨论都以图中这棵树为例子。先来了解下什么是倍增吧,倍增其实就是二分的逆向,二分是逐渐缩小范围,而倍增是成倍扩大。这里的倍增借用二进制来表达更容易理解;倍增的做法是先求出20,21,22,⋯,然后任意一个数字都可以用20,21,22,⋯相加来表示,就像给你32个1,你能表示出32-bit中的任意一个
FlushHip
·
2020-08-17 19:38
算法
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他