线段树单点修改区间查询 线段树同时维护和、最大值、最小值 线段树区间取模(平方)区间查询 最短路spfa 2-SAT稳定党员 欧几里得与扩展欧几里得 中国剩余定理 字典树 匈牙利算法 LCA Tarjan算法 Tarjan强连通分量 KMP算法 扩展KMP(最长公共前缀) 数位DP 组合数取模luc ...
分类:
其他好文 时间:
2017-02-03 13:36:06
阅读次数:
461
第一题就LCA即可。不过推荐用Tarjan(最快,常数很小)。然后Tarjan的时候顺便就出一个dist[i],表示i节点到根节点的距离。求出了LCA,那么两点间的距离就为dist[u] + dist[v] - 2 * dist[lca]。 Code 1 #include<iostream> 2 # ...
分类:
编程语言 时间:
2017-01-22 22:35:01
阅读次数:
379
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16873 Accepted: 6672 Description A number of schools are connected to a computer network. A ...
分类:
Web程序 时间:
2016-12-31 15:33:29
阅读次数:
237
概念描述 LCA(Least Common Ancestors):即最近公共祖先,是指这样一个问题:在有根树中,找出某两个结点u和v的所有祖先中距离(u,v)最近的那个公共祖先(也就是离根最远的那个公共祖先)。 算法思想:主要有3种 1.倍增(在线) 2.tarjan(离线) 3.RMQ+ST 1. ...
分类:
其他好文 时间:
2016-12-25 11:25:53
阅读次数:
311
理解要点如下 理解LOW[i]数组的迭代过程。。 low[u]=min(dfn[v],dfn[u],low[v]); 理解这个。。如果有环。。那么后代就可以更新祖先 那么low[v]就有用了。。 那么第二个理解是这个函数是一个递归函数所以有一个栈 而我们这个算法存顶点本身还存了一个栈。。 你要区分这 ...
分类:
编程语言 时间:
2016-12-23 07:44:12
阅读次数:
142
#1185 : 连通性·三 #1185 : 连通性·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 暑假到了!!小Hi和小Ho为了体验生活,来到了住在大草原的约翰家。今天一大早,约翰因为有事要出去,就拜托小Hi和小Ho忙帮放牧。 约翰家一共有N个草场,每个草场有容量 ...
分类:
其他好文 时间:
2016-12-18 18:19:39
阅读次数:
231
#1183 : 连通性一·割边与割点 #1183 : 连通性一·割边与割点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢失。为了避免再次出现这样的情况,学校决定对校园网络进行重新设计 ...
分类:
其他好文 时间:
2016-12-18 18:01:06
阅读次数:
317
Description \(n\) 个炸弹,每个炸弹有两个放置点,可以任选一个,问你最大的半径是多少. Sol 二分+2-SAT+Tarjan. 首先二分一下答案.然后就成了一个2-SAT问题. 建模就是, \(i\) 如果和 \(j\) 的距离超过 \(x*2\),那么 \(i\) 只能选择 \( ...
分类:
其他好文 时间:
2016-12-14 18:38:55
阅读次数:
173
题目大意: 有一张无向连通图,问从一条边走到另一条边必定要经过的点有几个。 思路: 先用tarjan将双连通分量都并起来,剩下的再将割点独立出来,建成一棵树,之后记录每个点到根有几个割点,再用RMQ求LCA计算。 注意:数组范围。 代码: ...
分类:
其他好文 时间:
2016-12-11 15:22:04
阅读次数:
267
Splay伸展树 有篇Splay入门必看文章 —— CSDN链接 经典引文 空间效率:O(n) 时间效率:O(log n)插入、查找、删除 创造者:Daniel Sleator 和 Robert Tarjan 优点:每次查询会调整树的结构,使被查询频率高的条目更靠近树根。 Tree Rotation ...
分类:
其他好文 时间:
2016-12-09 07:52:34
阅读次数:
229