![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spfa
goto_1600
我何来寂寞,哪有寂寞可言。
展开
-
spfa判断负环+01分数规划
解题报告:二分他们的商值,把每条边变成t[i]-mid*w[i],然后看是否存在正环。#include<bits/stdc++.h>using namespace std;const int N= 1010 ,M=5010;int h[N],idx,e[M],ne[M];double t[N],w[M]; int n,m; int q[N]; double dis...原创 2020-04-28 14:12:26 · 248 阅读 · 0 评论 -
1165. 单词环
解题报告:这题可以用spfa判断正环的做法+二分来做,我们二分他的环的平均长度,看看能不能凑成环,如果暴力去把每个字符串变成一个点,总共会有1e5的点,可以优化一下,把整个字符串变成一条边,把前两个和后两个的单词字母映射成一个点,总共26*26个点,如果朴素去做会tle,那么要加个玄学优化,如果更新次数太多的话(十几倍左右)就暂且认为他是一个环,然后stl的queue太慢了,要用数组来模拟队列...原创 2020-04-28 12:53:05 · 250 阅读 · 0 评论 -
单源最短路扩展:创建虚拟源点
解题思路:题目大致意思是求在题目给出的点中离s最近的距离,其实我们可以创建一个虚拟源点让各个点到他的路径是0,spfa 0 就行了。#include<bits/stdc++.h>using namespace std;const int N=1010,M = 50010;int e[M],h[N],idx,ne[M],w[M];int dist[N];bool st[N...原创 2020-04-28 11:05:23 · 351 阅读 · 0 评论 -
dfs dijkstra结合
重庆城里有 n 个车站,m 条 双向 公路连接其中的某些车站。每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费的时间可能不同。在一条路径上花费的时间等于路径上所有公路需要的时间之和。佳佳的家在车站 1,他有五个亲戚,分别住在车站 a,b,c,d,e。过年了,他需要从自己的家出发,拜访每个亲戚(顺序任意),给他们送去节日的祝福。...原创 2020-03-21 18:37:36 · 449 阅读 · 0 评论 -
spfa 找正环
Several currency exchange points are working in our city. Let us suppose that each point specializes in two particular currencies and performs exchange operations only with these currencies. There can...原创 2020-03-19 23:11:01 · 357 阅读 · 0 评论 -
spfa判断负环
题目:给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你判断图中是否存在负权回路。输入格式第一行包含整数n和m。接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。输出格式如果图中存在负权回路,则输出“Yes”,否则输出“No”。数据范围1≤n≤2000,1≤m≤10000,图中涉及边长绝对值均不超过10000。输入样例...原创 2020-02-09 23:02:42 · 352 阅读 · 0 评论 -
spfa()算法
给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出impossible。数据保证不存在负权回路。输入格式第一行包含整数n和m。接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。输出格式输出一个整数,表示1号点到n号点的最短距离。如果路径不存在,则输出”impos...原创 2020-02-09 22:54:32 · 202 阅读 · 0 评论