题目链接————

我至今还对题意有点模棱两可,不过也大致是知道了。。。

大致是一开始给你一个有向图,然后让你给你六个顶点,添六条边,但是添边是有限制的。每次添边的权值要最小,还有个条件就是不能构成negative-weighted loop,对于后面这个条件我们纠结了很久,看到给出的问答也算是印证了我们的AC 代码。negative-weighted loop指的是循环加权和为负,即从一个顶点出发在回到这个顶点的经过路径的权值和必须是 >= 0的。所以让你在u,v顶点天一条边,可以计算v - > u的最短路,然后加个负号取反。然后在添进去执行下一次询问。需要进行6次SPFA。

比赛时好有个槽点就是我忘记Dijkstra不能处理负边了,多亏队友提醒。。。

AC Code:

#include<bits/stdc++.h>
#define LL long long
#define ULL unsigned  long long
#define maxn (LL)1e7
#define INF 0x3f3f3f3f
#define inf 0x7fffffff
#define PI  acos(-1.0)
#define pb push_back
#define re register LL
const double eps = 0.0000001;
using namespace std;
typedef pair<LL,LL> pii;
inline int sgn(double x)
{return (x > eps) - (x < -eps);
}
const int N = 10010;
struct Edge
{int next;int to;int dis;
} edge[N];
int head[N],tot;
int d[N];
int vis[N];
inline void add(int from,int to, int dis)
{edge[++tot].next = head[from];edge[tot].to = to;edge[tot].dis = dis;head[from] = tot;
}
int n,m;
struct node
{int id,val;node() {}node(int a,int b):id(a),val(b) {}bool operator <(node A)const{return val > A.val;}
};
void spfa(int s)
{memset(d,0x3f,sizeof(d));memset(vis,0,sizeof(vis));queue<int>q;q.push(s);d[s]=0;vis[s]=true;while(!q.empty()){int u=q.front();q.pop();vis[u]=false;for(int i=head[u]; ~i; i = edge[i].next){int v=edge[i].to;int w=edge[i].dis;if(d[v]>d[u]+w){d[v]=d[u]+w;if(vis[v]==0){q.push(v);vis[v]=true;}}}}
}
int  main()
{//freopen("input.txt","r",stdin);int T ;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);memset(head,-1,sizeof(head));tot = 0;int f,t,dis;for(int  i= 1; i<=m; ++i){scanf("%d%d%d",&f,&t,&dis);add(f,t,dis);}for(int i = 1; i<=6; ++i){scanf("%d%d",&f,&t);spfa(t);dis = -d[f];add(f,t,dis);printf("%d\n",dis);}}}

2019icpc南京网络赛 Holy Grail(SPFA)相关推荐

  1. 2019ACM南京网络赛 Holy Grail

    ACM2019南京网络赛 Holy Grail SPFA 或 Bellman-Ford模板题(存在负权路径) Description Input Output 样例输入 样例输出 题目链接: http ...

  2. 2019ICPC南京网络赛A题 The beautiful values of the palace(三维偏序)

    2019ICPC南京网络赛A题 The beautiful values of the palace https://nanti.jisuanke.com/t/41298 Here is a squa ...

  3. The Preliminary Contest for ICPC Asia Nanjing 2019ICPC南京网络赛

    B.super_log (欧拉降幂) •题意 定一个一个运算log*,迭代表达式为 给定一个a,b计算直到迭代结果>=b时,最小的x,输出对m取余后的值 •思路 $log*_{a}(a^{a}) ...

  4. 2019ICPC南京网络赛E题 K Sum

    题意: 数学题见链接 数据范围: n=1e9,k=101e5 链接: https://nanti.jisuanke.com/t/41304 题解: 涉及积性函数.莫比乌斯反演.杜教筛(狄利克雷卷积). ...

  5. 2018 ACM-ICPC南京网络赛 Magical Girl Haze(分层最短路)

    2018 ACM-ICPC南京网络赛 Magical Girl Haze There are NN cities in the country, and MM directional roads fr ...

  6. 2019ICPC亚洲区域赛南京网络赛

    Problem F Greedy Sequence 题目链接:https://nanti.jisuanke.com/t/41303 题意: 给出n个整数,构造s1,s2,s3-sns1,s2,s3-s ...

  7. [ICPC Asia Nanjing 2019] Holy Grail (spfa最短路)

    题意:给出一个n个点,m条边的有向图,再给6组询问,在u,v间建一条权值最小的边,使图中没有负环.保证有解. 做法:u,v加边,如果有负环必定过u,v.以v为起点,到u的最短路和u->v组成的环 ...

  8. Holy Grail 2019南京网络赛

    https://nanti.jisuanke.com/t/41305 给定一个有向无负环图,然后告诉你要依次加6条边,要保证每次加边后无负环,求依次加边时保证当前边最小. 由于题目保证有解,所以s-& ...

  9. B. super_log(2019ICPC区域网络赛南京站)

    题目链接:https://nanti.jisuanke.com/t/41299 题目大意 已知函数loga∗log_a^*loga∗​形式如下: loga∗(x)={−1, if x<11+lo ...

最新文章

  1. 《数据结构与抽象:Java语言描述(原书第4版)》一2.2.1 可变大小数组
  2. Web 压力测试工具 --Apache AB
  3. windbg设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
  4. alot英文怎么读_很多的英文怎么说
  5. insmod module_param 模块参数
  6. 树上倍增求LCA及例题
  7. OpenCV4.0 Mask RCNN 实例分割示例 C++/Python实现
  8. oracle事件号,oracle8管理员账号密码Oracle-等待事件解读
  9. redis 缓存有效期
  10. 6splus计算机按键应用,苹果6s plus快捷键功能介绍
  11. Vue:文章新闻界面,点击上一篇下一篇界面不重新加载解决方案
  12. ios 简书 获取通讯录信息_ios 获取本地通讯录信息
  13. html保存快捷,保存文件的快捷键 PS里面的保存快捷键是哪个?
  14. 微信公众号接口调用php示例,php微信公众号js-sdk开发应用_php实例
  15. atomic头文件编译_c++11 多线程(3)atomic 总结
  16. CentOS 安装 无线USB网卡 RTL8192EU
  17. 米家扫地机器人尘盒怎么取_米家扫地机器人怎么打开尘盒
  18. 老马闲评数字化(4)做数字化会不会被供应商拿捏住
  19. mysql 数据类型 查询_MySQL数据类型
  20. 剖析抖音快速涨粉的文案号,了解大佬运营技巧,学以致用

热门文章

  1. 以下关于c语言程序中函数的说法正确的是( ),以下关于C语言程序中函数的说法正确的是:(  )...
  2. THINKPHP6 运行出现Malformed UTF-8 characters, possibly incorrectly encoded
  3. MPC5744-LINFlexD
  4. The specified target project directory 项目名\src\main\resources does not exist 问题解决
  5. 等额本息公式推导------玩一下等比数列
  6. 电脑回收站清空了能恢复吗?
  7. sklearn代码9 7-KNN-salay
  8. 七牛服务器获取文件内容
  9. Python如此神奇,让繁琐工作自动化 (文中含Python基础)
  10. 嵌入式音频架构 - AudioWeaver模块开发