随笔分类 - 图论 -- LCA
摘要:[APIO2008]紧急集合 一棵树上 找一个点 使三个人到该点的花费最少 求三个点两两之间的LCA 得出,然后我们发现 这三个LCA中有二者重合 即它存在两种情况:最后三者所走到的最优公共点只可能为这二者之一。 c++ include include include include include
阅读全文
摘要:P2680 运输计划 真正系统搞了一遍树上差分之后我发现这道题其实没那么难emmmm 这几天疯狂做图论题 算是把对图论的恐惧克服了点hhh 从题目可知这是一颗树 所以在预处理倍增时顺便把链的长度处理出来 然后从最大值最小可得出用二分来做 二分到时的时间 在check函数里搞搞(我不想写了......
阅读全文
摘要:多用于记录树上节点被经过的次数,记录某条边被经过的次数的时候 点差分 P3128 [USACO15DEC]最大流Max Flow s−−>t求这条路径上的点被经过的次数找到他们的LCA 需要让 cnts++ cntt++ cntlca-- cntfa(lca)-- /* id:lxyyyy 树上差分
阅读全文
摘要:P2783 有机化学之神偶尔会做作弊 缩点 然后LCA x,y两点之间的距离为dep[x]+dep[y]-2dep[lca]+1 死于各种缩点之后忘记用bl
阅读全文
摘要:P3398 仓鼠找sugar 询问树上a到b,c到d的两条路径是否相交 长期不学竞赛...导致1mol的低级错误出现 把f数组开为f[N][20] 写错判断 我烂了QAQ我好瘟死于低级错误久久无法判断出来 如果两条路径相交,那么一定有一条路径的LCA在另一条路径上 而判断一个节点x,是否在路径s-t
阅读全文
摘要:P4180 【模板】严格次小生成树[BJWC2010] 这个的INF必须得开大 最后找了一篇题解的INF复制上来 最小生成树和严格次小的区别? 用非树边替换最小生成树的一条边 枚举每一条非树边找两顶点树链上的最大边(如果最大边与非树边边权相同则找次大边) 然后更新最小增量 最大边和次大边可以通过树上
阅读全文
摘要:P1967 货车运输 A国有n座城市,编号从1到n城市之间有m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有q辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。最大生成树+倍增算路径最小值 最大生成树就是kruskal时将边改为降序 然后就和普通krus
阅读全文
摘要:模板 P3379 【模板】最近公共祖先(LCA) 也是看着学长的模板改的..... 讲解都是黄学长的课件里的 放上来方便我自己看吧 他讲的太好辽 倍增 首先对于每个结点先进行DFS 预处理出它的深度,再记录下它们往父亲方向走20 21...2k步所到达的结点在这里2k大于整棵树的最大深度 预处理完后
阅读全文
摘要:luoguP1462 通往奥格瑞玛的道路 我的心路历程:有城市中最多的一次收取的费用的最小值 你要说什么???你在问什么??? 然后看到一个语文课代表的理解:经过城市最多的一次 这次的费用最小值是多少 这不是二分🐴嘿嘿嘿这几天还在练 感谢csy 和我一起经历了这段玄学错误的修改 if(!q.emp
阅读全文