图论
Buyi.
努力进大厂
展开
-
UVA - 10766.Organising the Organisation(生成树计数)
题目链接:https://vjudge.net/contest/388044#problem/H题意:给出n m k,n表示有n个点,k表示数的根,m表示有m条不能够相连的边,求生成树数量解题思路:使用Matrix-Tree定理Matrix-Tree定理对于一个无向图G,它的生成树个数等于其Kirchhoff矩阵任何一个n-1阶主子式的行列式的绝对值。所谓n-1阶主子式就是对行列式中任何一个元素,去掉它本身以及与他同行同列的元素后,剩下的元素构成的行列式。代码转自:https://blo原创 2020-08-08 10:54:07 · 146 阅读 · 0 评论 -
*HDU6832(多校第六场).A Very Easy Graph Problem(最小生成树+dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6832题意:找出所有满足ai=1&&aj=0的点连成的边的权值和解题思路:给出的第i条边的长度=2^i,2 ^1+2 ^2+…+2 ^(n-1)<2 ^n,所以可以得出越早出现的边或者连通边(间接连在一起的边)越短①使用并查集,保存能够相互连接的边,每加入一条边,先判断这两个点是否已经在同一并查集中,确保最短。经过这样的操作后,可以得到一个最小生成树,每两个点之间只有一条最短的路原创 2020-08-07 15:57:28 · 166 阅读 · 0 评论 -
**HDU6805(多校第四场).Deliver the Cake(拆点+最短路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6805题意:张三送蛋糕,使用左手或者右手拿,小镇有三种L、R、M,L只能够左手拿蛋糕通过,R只能右手拿蛋糕进入,M是任意手都可以。n个小镇各自有对应方式,张三每一次换手拿蛋糕都需要消耗x秒。然后有m条路来连接这些城镇(无向),每条路有长度d,每单位长度耗时1秒,现在要求最短时间从s地把蛋糕送到t地解题思路:利用拆点的方法,将M点的城镇分别拆分成两个点L和R来进行构图,对于LR的路耗时为d+x,对于RR的路耗原创 2020-08-03 01:52:58 · 163 阅读 · 0 评论 -
教你如何使用Tarjan模版(模版讲解和使用方法+例题)
割点若从图中删除节点 x 以及所有与 x 关联的边之后,图将被分成两个或两个以上的不相连的子图,那么称 x 为图的割点。原创 2020-08-01 11:05:29 · 247 阅读 · 0 评论 -
HDU3062.Party(2-sat问题+dfs/tarjan)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062题意:有n对夫妻参加一个party,要求每对夫妻中只能出现一人,又给出了m对有矛盾关系的人,这些人不能够同时出现,问能否有n个人参加party解题思路:典型的2-sat问题首先分点,将n对夫妻分为2n个人,第i对夫妻为 2i, 2i+1给出m对矛盾关系,a1,a2,c1,c2, 令x=2a1+c1, y=2*a2+c2,所以x只能够通向y^1,同时y也只能够通向x ^1,所以这建立这两条边第一种原创 2020-08-01 10:14:32 · 384 阅读 · 0 评论 -
Floyd算法总结+例题
详细讲解算法主体:for(k=1;k<=n;k++) //所有待加入的中转点 for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(e[i][j]>e[i][k]+e[k][j]) e[i][j]=e[i][k]+e[k][j];例题1:CodeForces - 295B Greg and Graph题目链接:https://vjudge.net/problem/CodeForces原创 2020-07-30 09:23:29 · 3154 阅读 · 0 评论 -
CF602C.The Two Routes(思维+完全图+bfs)
题目链接:https://vjudge.net/contest/385137#problem/B题意:给出n个点和m条铁路,输入m条铁路,如果两个点之间没有铁路直接相连,那么这两点之间存在公路,每次在两点间的公路或是铁路都耗时1,问两人分别使用公路和铁路从1点到n点共同需要的最少时间解题思路:通过理解题目,可以发现这是一个完全图,任意两点都有公路或者铁路的直接相连,所以一定有公路或铁路可以直接从1点到n点,耗时1,然后再对另一种交通方式进行bfs求得需要的最少时间即可#include<iost原创 2020-07-28 10:24:39 · 163 阅读 · 0 评论 -
2020暑期牛客多校第五场E.Bogo Sort(环+LCM+大数模版)
题目链接:https://ac.nowcoder.com/acm/contest/5670/E题意:给出一个固定的置换,问有多少组数组可以通过这个置换得到一个有序的序列(1 2 3 … n)解题思路:因为置换是固定的,所以只需要求出一个有序的序列(1 2 3 …n)可以通过多少次置换再次回到原来的样子即可然后直接求出每个数经过多少次可以回到原来的位置,求出这些次数的公倍数就可以求出总的序列经过多少次可以回到原来,但这样做会超时可以发现每个数经过的位置是一个循环,每个处于循环中的数都可以经过相同的次原创 2020-07-26 22:15:06 · 251 阅读 · 0 评论