图
GoLakerswxy
这个作者很懒,什么都没留下…
展开
-
Karger’s Min Cut Algorithm
无向图的最小割问题,首先想到的就是Ford-Fulkerson算法解s-t最小割,通过Edmonds–Karp实现可以在时间内解决这个问题(n为图中的顶点数,m为图中的边数)但是全局最小割和s-t最小割不同,并没有给定的指定的源点s和汇点t,如果通过Ford-Fulkerson算法来解这一问题,则需要枚举汇点t(共n−1),时间复杂度为.Karger提出了非常著名的基于随机化的全局最小割算法,描述如下:在图中随机取一条边,将边的两个端点合并,同时消除所有由于合并而形成自环的边 重复步.原创 2021-09-12 14:49:05 · 798 阅读 · 0 评论 -
tarjan求无向图的割点和桥
#include<iostream>using namespace std;#include<cstdio>#include<cstring>#include<vector>#define N 201vector<int>G[N];int n,m,low[N],dfn[N];bool is_cut[N];int father[N];int tim=0;void input(){ scanf("%d%d",&.转载 2020-11-07 11:52:11 · 188 阅读 · 0 评论 -
hdu 6393 Traffic Network in Numazu(最短路,树状数组,lca,欧拉序)
题目:给你一个n边n点的无向连通图,两个操作,操作一改变某个边的权值,操作二查询某两个点之间的最短路径长度。思路:在环上拿出一条边来放一边,搞一棵树出来,因为两点间最短距离就是是两点各自到根的距离之和减去 2*两点的lca到根的距离。 修改操作就变为维护点到根的这条链上的权值,差分得到欧拉序,用树状数组维护。查询的时候直接查询距离,再加上拿出来的那条不用的边情况,取最小即可。找了好久的...原创 2018-08-14 15:05:24 · 318 阅读 · 0 评论 -
codeforces 1020E Sergey's problem(模拟)
题目:给一个有向图,找出一个点集,使得点集内任意两点不能有边相连,并且点集外面的点可以由点集内的点最多走两步到达。思路:存一个正向图一个反向图,正向的用来遍历点找出选的点,反向图来去掉相邻两点都在这个点集内的冲突。当时弄了一个book数组0表示没有访问过,1表示访问选取这个点,2表示只访问过不选它,感觉很对,但是wa了。。刚弄明白哪里错了,想的有点肤浅了,第一遍遍历的时候。有些情况会g...原创 2018-08-12 10:41:18 · 349 阅读 · 0 评论 -
计蒜客 徐州网络赛J.Maze Designer(最小生成树)
题目:给一个n*m的方格,每个格子中间有个权值表示加上一堵墙的代价,然后需要构成一个图是的任意两点直接有且只有一条路,给出q组询问,每次查询两点之间的最短距离。思路:最大生成树,求lca。很裸的一道题目,唉。但是比赛时没读懂题意,以为每次查询都对应着一个图。。。。#include <bits/stdc++.h>using namespace std;typedef lon...原创 2018-09-09 19:29:23 · 345 阅读 · 3 评论