图论
__Galaxy
,,,,,,,,
展开
-
Ural 1004 FLOYD最小环问题
题目大意: 给出一些双向边, 求图中的一个最小环, 当u-v被选中时, v-u不能被选, 按顺序输出这个最小环, n<=100 无解则输出。题目既然要求最小环,数据范围还这么小, 容易联想到FLOYD, 并且这里是双向边也没有什么关系, 因为只能选一条, 但题目比较麻烦的地方就是要输出这个环,我的处理好像和机房的人不一样。。。。。 我想到的办法是对于每一个i -> j的路径, 记下最优的中间点,原创 2016-12-04 22:17:48 · 327 阅读 · 0 评论 -
POJ 1639度限制生成树
题目就是给出一些英文名称, 并且要求源点为park的入度不能超过k 给出思路: 1.首先抹去park, 在剩下的连通分量中求出最小生成树加入答案, 此时的度是最小的, 即如果现在的度大于k, 则无解(题目好像没这个情况) 2.由于我们一开始删去了和park相邻的每一条边, 所以我们要加上每个联通子图到park的最小边, 但这样并不是最好的, 我们要把度加到k, 这样会使答案更优(至于具体的操作原创 2016-10-15 20:20:54 · 260 阅读 · 0 评论 -
POJ 3255 A* k_th path
就是裸的求次短路,可以用k短路试试手 A*算法的估价函数可表示为: f’(n) = g’(n) + h’(n) 其中f(n) 是节点n的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到目标节点最佳路径的估计代价。在这里主要是h(n)体现了搜索的启发信息,因为g(n)是已知的。如果说详细 点,g(n)代表了搜索的广度的优先趋势。 这里,f’(n)是估价函数原创 2016-09-05 20:23:56 · 291 阅读 · 0 评论 -
POJ 2763 LCA+BIT
显然这个题是个好题, 需要修改边利用,前缀和思想动态维护, 每次查询u到v的距离 记下每个点(u)第一次在dfs出现及最后回来的位置, strart和finish 那么u连向其父亲的边在被修改是影响的只是start【u】和finish【u】之间的范围前缀和恰好可以运用, 还有就是要做一个点到边映射数组, 其实很简单。。哦对了, 相信BIT–树状数组这么6的东西大家都懂吧。。 代码虽然长了,原创 2016-08-18 21:18:26 · 221 阅读 · 0 评论 -
POJ 3728 tarjan+DP
从这个好题我终于去学了学Tarjan, 因为发现ST毫无意义, 除了预处理, 其他还是要借鉴Tarjan; Tarjan其实很简单, 其实就是对于询问也开一个邻接表, 两个点的LCA就是: 如果在访问u的时候发现v已经访问过了, 那么LCA就是find(u) 至于这个题up, down, max, min的作用就不说了, 网上的主流代码 是个好题, 初学Tarjan一定要去搞#include原创 2016-08-18 21:06:53 · 245 阅读 · 0 评论 -
UVA-The Largest Clique 11324
最大团, problem:给一个有向图G, 求一个节点数最大的点集, 使得该点集中的任意两个节点至少要有一条路径 -> 那么可知, G中的SCC要么都选, 要么都不选(不选是因为这是有向图选了之后的无法纳入范围), 那么问题就简单了 将每个SCC缩成一个点, 变成在DAG上DP -> code: #include #include #include #include usin原创 2016-07-30 18:45:39 · 251 阅读 · 0 评论 -
UVA-Proving Equivalences La 4287
题目很好懂, 讲下思路; 把每个命题看成节点, 推导视为有向边, 得到一个有向图G, 那么题意就是如何添加边, 使G强连通(每个点都能互相到达), 把G中的强连通分量找出后, 缩成一个点使G变成一个DAG, 接下来设这个DAG上有a个节点出度使0, b个节点入度为0, max(a, b) 这就没什么好证明的了, 很显然是这样的。。。 code #include #include #in原创 2016-07-30 18:33:29 · 222 阅读 · 0 评论 -
UVA-Knights of the Round Table La3523
圆桌骑士; 分析:如果两个骑士没仇, 那就连一条边, 这样得到一个图G, 那么问题就转化成了求G中的不在任何一个简单奇圈上的点的个数, 我们可以求出在的个数再做减 又因为简单奇圈上的所有节点必定属于同一个双连通分量, 并且二分图没有奇圈, 所以问题就变成怎样判断一个双连通分量是否是奇圈见代码注释-> * 那么怎样判断一个双连通分量是奇圈呢? 首先我们要接受两条定理, (1)如果一个双连通原创 2016-07-30 18:31:19 · 334 阅读 · 0 评论 -
一般图最大匹配
先说下思想: 一般图与二分图不同的地方就在于奇环, 考虑出现奇环如何处理, 我们发现我们从一个点搜到一个奇环时, 最先搜到的地方我们称为花基, 那么会发现从花基从逆时针, 顺时针搜到这个奇环中的某一个点u时, 会发现u被我们要求标成两种不同的颜色, 这时我们能够发现奇环, 将其缩成一个点, 可以证明缩点后不会对増广产生影响, 那么我们缩点时需要做些什么: 首先, 我们用pre记录增广路上的前驱原创 2017-02-24 18:50:24 · 586 阅读 · 0 评论