最近想学支配树,但是基础还是要打好了的; P2597 [ZJOI2012]灾难 这道题是根据食物链链接出一个有向图的关系,求一个物种的灭绝会连带几种物种的灭绝; 求得就是一个点能支配几个点; 如果一个点没有食物了就会灭绝,那他的支配点就是他所有食物的LCA; LCA死了,食物都死了,他也就死了; 我 ...
分类:
其他好文 时间:
2019-09-29 09:50:37
阅读次数:
72
前言 其实没有设计模式我们也能完成开发工作。但是为什么需要设计模式呢?让你看起来很牛,没错这个算一个。让你的代码层次感分明,可读性强而且容易维护。让你像我一样有更多的摸鱼划水时间。 其实没有设计模式我们也能完成开发工作。但是为什么需要设计模式呢?让你看起来很牛,没错这个算一个。让你的代码层次感分明, ...
分类:
编程语言 时间:
2019-09-28 18:14:48
阅读次数:
83
(十一集训前最后的挣扎) 先介绍LCA是啥吧。。 LCA:Lowest Common Ancestors(最近公共祖先) 用来求树上任意两点的最近相同父亲节点,有各种不同的方法,这里先介绍树上倍增求LCA(另一种我不会。。) 先看一道题:(RP++) 这是翻译: 先看看朴素算法: 先依次向上查找x的 ...
分类:
其他好文 时间:
2019-09-28 16:20:20
阅读次数:
114
Luogu_P3302 [SDOI2013]森林 主席树,启发式合并,lca "luogu题面" 求树上路径的第k大,树之间还有合并。 明显是主席树再加合并。 先说链上第k大,其实就是$Tx+Ty Tlca Tlcafa$ $T$表示权值线段树。 主席树维护的是从根节点到当前节点的前缀和。 ask的 ...
分类:
其他好文 时间:
2019-09-27 22:44:54
阅读次数:
105
看到换根果断lct啊,然而其实我板子还没有打熟,还不会维护子树信息,于是就挂掉了…… 然而正解并不是lct。 其实好像很久很久以前将lca的时候好像讲到过一道换根的题,当时没有听懂。 直接说正解吧: 把dfs序搞出来用线段树维护。 用一个变量记录当前根节点,操作一直接改就行了。 然后是操作三: 分情 ...
分类:
其他好文 时间:
2019-09-27 15:18:58
阅读次数:
65
1 #include <bits/stdc++.h> 2 #define _for(i,a,b) for(int i = (a);i < b;i ++) 3 #define _rep(i,a,b) for(int i = (a);i > b;i --) 4 #define INF 0x3f3f3f3 ...
分类:
其他好文 时间:
2019-09-25 12:31:32
阅读次数:
116
还是济南集训的内容,让人头秃(不得不说两个老师讲了两遍我勉勉强强才搞懂一点点) 首先来看: LCA的含义 Least Common Ancestors LCA就是最近公共祖先,至于它的含义,我觉得例题写的看起来会更清楚,请看: 好的,明白了它的含义后,我们很容易想到朴素算法: 询问(x,y)的最近公 ...
分类:
其他好文 时间:
2019-09-22 16:34:09
阅读次数:
113
倍增法求LCA ~~(蒟蒻只会用倍增)~~ 简单说就是先通过dfs预处理出每个节点i的深度deep[i]与其的第$2^j$个祖先f[i][j]。求f[i][j]的关键在于递推式f[i][j]=f[f[i][j 1]][j 1]。也即i的 $2^j$ 祖先是 $2^{j 1}$ 祖先的 $2^{j 1 ...
分类:
其他好文 时间:
2019-09-21 23:24:24
阅读次数:
113
本人水平有限,题解不到为处,请多多谅解 本蒟蒻谢谢大家观看 题目:传送门 倍增求LCA模板 code: ...
分类:
其他好文 时间:
2019-09-21 12:22:21
阅读次数:
88
最近这题解是真不想写, 正好这次不太难,就放个代码吧 1>比赛 新奇的方法,但是我不想分析 精度操作很烦人 2>数字 乘法原理,容斥原理,dp 3>祖孙询问 水啊,LCA #include<cstdio> #include<cstdlib> #include<algorithm> using nam ...
分类:
其他好文 时间:
2019-09-19 14:31:36
阅读次数:
129