图论---最短路
小松萘
厉害的人可真多啊
展开
-
AcWing 345. 牛站(Floyd,快速幂)
???? ???? ????又犯了很弱智的错误,struct中的数组一开始定义成[1111][1111],炸空间惹struct matrix{ int x[222][222]; matrix(){memset(x,0x3f,sizeof(x));}};matrix multi(matrix a,matrix b,int up)//矩阵相乘{ matrix temp; for(int...原创 2020-03-31 09:20:37 · 244 阅读 · 0 评论 -
AcWing 344. 观光之旅 (Floyd+最小环+输出路径)
???? ???? ????(1)Floyd记录路径:使用road数组记录i----->j 最短路上下一个点,如果i–>j可由i—>k ,k—>j得到,则road[i][j]=road[i][k](2)Floyd求解最小环:求解环的时候,可以通过求出从u 到 v 经过中间某一些结点的最短路,但是我们得确保回来的时候,不能经过那些结点,这样我们控制回来的路上只有一点k,同时设置该点为环上...原创 2020-03-27 20:17:08 · 267 阅读 · 0 评论 -
AcWing 342. 道路与航线(SPFA的SLF优化)
???? ???? ????果然欠了太久的课补起来还是很麻烦。。读题:(1)有负边(2)可能存在正环,无负环(3)考虑 n 的 范围,dij n^2 的复杂度不适合,需要nlgn的复杂度又是单源最短路,使用优化后的spfaint head[MX],tot;struct E{int v,w,nxt;}edge[MX<<1];void add(int u,int v,int w){ ...原创 2020-03-27 13:34:28 · 101 阅读 · 0 评论 -
AcWing 343. 排序 (Floyd, 拓扑关系,传递闭包)
???? ???? ????Floyd做传递闭包的时候,最后生成的图中,每个点与他前面的所有点相连.(1)指向某点的边数即为该点的rank(2)重点在通过Floyd做闭包传递int n,m,f[33][33];//拓扑关系void solve(){ memset(f,0,sizeof(f)); vector<string>s(m);cin>>s; rep(...原创 2020-03-13 16:51:21 · 139 阅读 · 0 评论 -
POJ - 3660 Cow Contest (Floyd ,传递闭包)
给出一些奶牛之间的拓扑关系,问有多少奶牛的排名是可以确定的。Floyd扩展每条边int f[111][111];void solve(){ int n,m;cin>>n>>m; rpp(i,n) f[i][i]=1; rpp(i,m) { int x,y;cin>>x>>y; f...原创 2020-03-13 14:41:58 · 140 阅读 · 0 评论 -
Codeforces Round #605 (Div. 3) E - Nearest Opposite Parity
???? ???? ????题意:一个数组,i位置可以到达i +/- a[ i ] 位置(不越界情况下),问你每个位置要走到一个奇偶性相反的地点最少要走几次,在现场,,然而我真的不会哈哈哈哈我好菜????主要是两点:超级源点(多源变单源)+ 反向建边(反向思维)建立一个超级奇数点,一个超级偶数点;超级奇数点为例,从该点出发,配合我们建立的反向边,如果可以到达某个偶数点,求得的距离肯定是所有能到达他的奇数点中...原创 2019-12-13 22:02:09 · 109 阅读 · 0 评论