随笔分类 - 图论
摘要:题目链接:传送门 题目大意:一副无向图,要求你给边定向(变为有向图),使出度等于入度的点最多,输出有多少 个点,并且输出定向后的边(前为起点,后为终点) 题目思路:欧拉路 我们这样考虑,先考虑无向图的点的度数,如果为奇数则一定无法变为题目要求的点,ans-1 对于度为偶数的点则一定可以通过调整满足。
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一副无向图,边有权值,初始权值>=0,若权值==0,则需要把它变为一个正整数(不超过1e18),现在问你有没有一种方法, 使图中的边权值都变为正整数的时候,从 S 到 T 的最短路恰好等于 L。 若没有输出 "NO",否则输出 "YES",同时输出新图中的所有边权值。
        阅读全文
                
摘要:#include #include #include #include #include using namespace std; const int MAXN=400; const int INF=0x7fffffff; int N,M,S; int a[MAXN][MAXN],dis[MAXN]; bool visit[MAXN],d[MAXN]; int StoerWagner(in...
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你 n,m n:有几行图,m是一个人最多跳m个曼哈顿距离。 给你两张图,第一张图数字为0表示没有柱子,否则有柱子且只能跳出去 x 次(x为当前字符代表的数字) 第二张图 '.'表示没人,'L'表示当前位置有一个人,问通过柱子之间跳跃最后最少有多少人不能逃出去。 逃出去只
        阅读全文
                
摘要:题目链接:传送门 题目大意:有k个任务,可以在 A 机器的 x 位上完成,也可以在 B 机器的 y 位上完成。问最少需要多少个点位即可完成所有任务。 题目思路:求最小点覆盖。 把 A 机器,B 机器看做两个集合,任务需要的点位即可看做 A,B 之间的边,要最少点位,也就是要最少的点覆盖完所有的边。 
        阅读全文
                
摘要:题目链接:传送门 题目大意:有n个任务,m个机器。每个机器最早在 Si 天开始,最晚在 Ei 天结束,需要 Pi 天完成。可以中途换机器做,也可以中途打断不做,过后再做 只要在规定时间内都行。每个机器一天只能处理一个任务。问是否能在规定时间完成。 题目思路:知道是网络流,但是不会建图。 自己建图的时
        阅读全文
                
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15...
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一副无向图,问至少加多少条边使图成为边双联通图 题目思路:tarjan算法+缩点(如果已经是双连通图就直接输出0)
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一副无向联通图,判断是不是二分图 题目思路:交叉染色法 下面着重介绍下交叉染色法的定义与原理 首先任意取出一个顶点进行染色,和该节点相邻的点有三种情况: 1.未染色 那么继续染色此节点(染色为另一种颜色) 2.已染色但和当前节点颜色不同 跳过该点 3.已染色并且和当前
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一副无向图,问至少加多少条边使图成为边双联通图 题目思路:tarjan算法加缩点,缩点后求出度数为1的叶子节点个数,需要加边数为(leaf+1)/2
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一副无向图,求有多少个割点 题目思路:tarjan算法(此题读入是字符串读入,需注意)
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一副无向图,求解图的顶点连通度 题目思路:模板(图论算法理论,实现及应用 P396) Menger定理:无向图G的顶点连通度k(G)和顶点间最大独立轨数目之间存在如下关系: 1.若G是完全图,k(G)=|V(G)|-1 2.若G不是完全图,k(G)=min{P(A,B
        阅读全文
                
摘要:题目链接:传送门 题目大意:一副无向图,问有多少个节点满足删除该节点后图不连通,对于每个满足条件的节点,输出节点编号及删除节点将图分为几个连通块。若没有节点满足则输出No SPF nodes 题目思路:tarjan算法求关节点入门题(也可用矩阵存图)
        阅读全文
                
摘要:题目链接:传送门 题目大意:给你一幅图(单向边),找出从起点到终点有多少条不同路径(最短路或者比最短路长度大1) 题目思路:二维dijkstra,真的是要对dijkstra理解非常透彻才行,距离数组d开成二维表示最短路与次短路,同时需要一个cnt数组,记录有多少条路径 对于当前点有四种更新情况: 1
        阅读全文
                
摘要:int head[N],cur[N],pre[N],d[N],gap[N]; int n,m,hcnt,S,T; struct Node{ int to,nxt,v; Node(){} Node(int a,int b,int c):to(a),nxt(b),v(c){} }node[maxn]; inline void add(int x,int y,int v){ ...
        阅读全文
                
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=107574#problem/B 题目大意:一幅图只含'o','x'问将它们反转为同一种符号所需最小步数(翻一个点时,周围相同的点都会翻转) 题目思路:dfs处理缩点,然后建图,bf
        阅读全文
                
摘要:int n,m,k,S,T; int head[N],hcnt,lel[N],cur[N]; struct Node{int to,nxt,v;}node[maxn]; inline void add(int x,int y,int v){ node[hcnt].to=y;node[hcnt].nxt=head[x];node[hcnt].v=v;head[x]=hcnt++; ...
        阅读全文
                
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=129723 题目大意:n个点,m条边,求出从0到n的最短距离,输出途中经过的边的权值和并乘以2(最短路不唯一且有重边) 题目思路:spfa求出最短路,在反向推回去
        阅读全文
                
 
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号