英雄灭火问题忽略了一点丫

一个超级源点的事情,需要考虑周全丫

2

#include<cstdio>
#include<cstring>
#include<queue>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 1010
#define INF 0x3f3f3f3f
int T, n, m, s, k, c;
struct Node {
int p;
int val;
Node(int _p, int _val) :p(_p), val(_val) {}
};
vector<Node>G[maxn];
void insert(int be, int en, int len) {
G[be].push_back(Node(en, len));
}
int dis[maxn];
int vis[maxn];
int spfa(int be) {
queue<int>que;
memset(vis, 0, sizeof(vis));
memset(dis, INF, sizeof(dis));
que.push(be);
dis[be] = 0;
while (!que.empty()) {
int x = que.front();
que.pop();
vis[x] = 0;
for (int i = 0; i < G[x].size(); i++) {
int p = G[x][i].p;
if (dis[p] > dis[x] + G[x][i].val) {
dis[p] = dis[x] + G[x][i].val;
if (!vis[p]) {
que.push(p);
vis[p] = 1;
}
}
}
}
return 0;
}
int be, en, len;
int main() {
scanf("%d", &T);
while (T--) { for (int i = 0; i < maxn - 2; i++) G[i].clear();
scanf("%d%d%d%d%d", &n, &m, &s, &k, &c); for (int i = 0; i < k; i++) {
scanf("%d", &be);
insert(0, be, 0);
}
for (int i = 0; i < m; i++) {
scanf("%d %d %d", &be, &en, &len);
insert(be, en, len);
insert(en, be, len);
}
spfa(0);
int ans1 = 0;
for (int i = 1; i <= n; i++) {
ans1 = max(ans1, dis[i]);
}
int ans2 = 0;
spfa(s);
for (int i = 1; i <= n; i++) {
ans2 = max(ans2, dis[i]);
}
if (ans1*c >= ans2) printf("%d\n", ans2);
else printf("%d\n", ans1);
}
return 0;
}

  我老婆

2019 ICPC南昌网络赛 B题的更多相关文章

  1. 2019 ICPC 南昌网络赛

    2019 ICPC 南昌网络赛 比赛时间:2019.9.8 比赛链接:The 2019 Asia Nanchang First Round Online Programming Contest 总结 ...

  2. Magic Master(2019年南昌网络赛E题+约瑟夫环)

    目录 题目链接 题意 思路 代码 题目链接 传送门 题意 初始时你有\(n\)张牌(按顺序摆放),每一次操作你将顶端的牌拿出,然后按顺序将上面的\(m\)张牌放到底部. 思路 首先我们发下拿走\(1\ ...

  3. 2019 ICPC 南昌网络赛I:Yukino With Subinterval(CDQ分治)

    Yukino With Subinterval Yukino has an array a_1, a_2 \cdots a_na1,a2⋯*a**n*. As a tsundere girl, Yuk ...

  4. 2019 ICPC上海网络赛 A 题 Lightning Routing I (动态维护树的直径)

    题目: 给定一棵树, 带边权. 现在有2种操作: 1.修改第i条边的权值. 2.询问u到其他一个任意点的最大距离是多少. 题解: 树的直径可以通过两次 dfs() 的方法求得.换句话说,到任意点最远的 ...

  5. 2019 ICPC南京网络赛 F题 Greedy Sequence(贪心+递推)

    计蒜客题目链接:https://nanti.jisuanke.com/t/41303 题目:给你一个序列a,你可以从其中选取元素,构建n个串,每个串的长度为n,构造的si串要满足以下条件, 1. si ...

  6. ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval

    ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval 题目大意:给一个长度为n,值域为[1, n]的序列{a},要求支持m次操作: 单点修改 1 pos val 询 ...

  7. ACM-ICPC 2019南昌网络赛F题 Megumi With String

    ACM-ICPC 南昌网络赛F题 Megumi With String 题目描述 给一个长度为\(l\)的字符串\(S\),和关于\(x\)的\(k\)次多项式\(G[x]\).当一个字符串\(str ...

  8. 2019年ICPC南昌网络赛 J. Distance on the tree 树链剖分+主席树

    边权转点权,每次遍历到下一个点,把走个这条边的权值加入主席树中即可. #include<iostream> #include<algorithm> #include<st ...

  9. 2013 ACM/ICPC 长沙网络赛J题

    题意:一个数列,给出这个数列中的某些位置的数,给出所有相邻的三个数字的和,数列头和尾处给出相邻两个数字的和.有若干次询问,每次问某一位置的数字的最大值. 分析:设数列为a1-an.首先通过相邻三个数字 ...

随机推荐

  1. Ubuntu18.10创建软件图标

    解压下载包都/opt目录 创建并编辑/usr/share/applications/xxx.desktop [Desktop Entry] Encoding=UTF-8 Name=Pycharm Co ...

  2. @atcoder - AGC040C@ Neither AB nor BA

    目录 @description@ @solution@ @accepted code@ @detail@ @description@ 给定偶数 N,求由 'A', 'B', 'C' 三种字符组成的字符 ...

  3. Error While Loading Shared Libraries, Cannot Open Shared Object File

    In the "I wish the Internet had an actual correct answer" category comes a question from a ...

  4. Simpson公式的应用(HDU 1724/ HDU 1071)

    辛普森积分法 - 维基百科,自由的百科全书 Simpson's rule - Wikipedia, the free encyclopedia 利用这个公式,用二分的方法来计算积分. 1071 ( T ...

  5. 2016国产开源软件Top100(Q1)

    2016国产开源软件Top100(Q1) 随着互联网的发展.开放标准的普及和虚拟化技术的应用等诸多IT新领域的创新及拓展,开源技术凭借其开放性.低成本.稳定性.灵活性.安全性和技术创新性等特点迅速走向 ...

  6. 记一次sublime text3更新 注册码失效问题和永久解决~

    前言: 一段时间不用sublime,打开提示我更新,不知怎么想的鬼使神差给点了~ 然后喵喵喵??? 取消 一会又出来了 受不了啦 搞事开整~ 正文: 本想直接找个注册码完事,奈何好多都用不了,想着再更 ...

  7. let & const 命令

    一.let命令 用于声明变量. 1) 所声明的变量只在let命令所在代码块内有效.(块级作用域) { let a=10; var b=1; } a // ReferenceError: a is no ...

  8. HDU1686 Oulipo 题解 KMP算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1686 题目大意:给你一个子串t和一个母串s,求s中有多少个子串t. 题目分析:KMP模板题. cal_ ...

  9. Oracle备库宕机启动解决方案

    简介 ORA-10458: standby database requires recovery ORA-01196: 文件 1 由于介质恢复会话失败而不一致 ORA-01110: 数据文件 1: ' ...

  10. 为什么有的文件从SVN上更新不下来

    前几天使用eclipse的插件从SVN上更新代码,将全部的代码更新下来后启动项目,前台报错说有些js文件找不到,后来检查我的工程里确实没有那些文件,经过检查发现SVN上却有这些文件,那为什么更新不下来 ...