![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增
Jerry99s
OI -> ACM -> AI
展开
-
NOIP2013 货车运输
题目:http://www.luogu.org/problem/show?pid=1967 分析:kruskal+LCA,注意LCA预处理的两个循环顺序别反了啊,卧槽在这个地方可是下了血本了! 代码:#include <cstdio> #include <algorithm> #include <vector> using namespace std; const int Tmax=10010,原创 2015-06-13 22:00:21 · 336 阅读 · 0 评论 -
由LCA引发的问题--RMQ,Tarjan,并查集等
引入LCA问题及其在线和离线算法 两个月前有一次一个电话面试问到了一个问题:“怎样求二叉树中距离两个叶子节点最近的祖先节点。”当时不会,后来在网上查了查发现是一个比较经典的题目,也有几种算法可以解决这个问题,我学习了一下,在这儿记下来。这个问题更宽泛的定义是:如何求树(不限于二叉树)中两个节点(不限于叶子节点)的最近公共祖先节点。这个问题被称为LCA(Lowest Commo转载 2015-06-13 22:01:58 · 440 阅读 · 0 评论 -
CF587C Duff in the Army
题目:http://codeforces.com/problemset 分析:倍增求lca,合并操作比较神奇,注意边界写法,有时包含顶端节点有时不包含,比如往上走2^0,包不包含他的父亲. 代码:#include <cstdio> #include <algorithm> #include <cstring> #include <iostream> #include <vector> using原创 2015-11-01 21:15:49 · 495 阅读 · 0 评论 -
CodeForces 466E. Information Graph (并查集+倍增)
题目: http://codeforces.com/problemset/problem/466/E 题意: 三种操作: 1.y变为x的boss; 2.x签署一份文件并逐级往上传并签署; 3.查询第x个人是否签署第i份文件。 分析: 在线变离线; 用路径压缩的并查集能直接查询当前状态下某个人的最高boss; 签署一份文件时,记录签署此文件最底端的人和最顶端的人; 倍增处理出每个节点往上走1&lt;...原创 2018-11-30 15:17:41 · 336 阅读 · 0 评论