The Preliminary Contest for ICPC Asia Nanchang 2019 B. Fire-Fighting Hero
题目:https://nanti.jisuanke.com/t/41349
思路:dijkstra最短路径
先以 fire-fighting hero为起点 跑一遍dijkstra
建立 起点 p 并与各 fire-fighting point 建立 权为0的边
跑完dijkstra dis[i]为 p到point i的最短路径 即各 fire-fighting point 到 point i 的最短路径中的最小值
最后将两遍dijkstra 的dis[ ]中的最大值进行比较即可
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
const int INF=0x3f3f3f3f;
int v,e,s,k,c;
int cnt;
];
];
];
];
];
];
];
int o;
priority_queue<pii,vector<pii>,greater<pii> >q;
void init1()
{
cnt=;
;i<=k+k+e+e;i++) to[i]=val[i]=;
;i<=v;i++) head[i]=;
}
void init2()
{
;i<=v;i++) vis[i]=,dis[i]=INF;
dis[o]=;
while(!q.empty()) q.pop();
}
void addEdge(int a,int b,int d)
{
cnt++;
to[cnt]=b;
val[cnt]=d;
nxt[cnt]=head[a];
head[a]=cnt;
}
void dijkstra()
{
q.push(pii(,o));
while(!q.empty())
{
int u=q.top().second;
q.pop();
if(vis[u]) continue;
vis[u]=;
for(int e=head[u];e;e=nxt[e])
if(dis[u]<INF&&dis[to[e]]>dis[u]+val[e])
{
dis[to[e]]=dis[u]+val[e];
q.push(pii(dis[to[e]],to[e]));
}
}
}
int main()
{
int T;
scanf("%d",&T);
int a,b,d;
int resXfy;
int resHero;
while(T--)
{
scanf("%d%d%d%d%d",&v,&e,&s,&k,&c);
init1();
resXfy=-;
resHero=-;
;i<k;i++) scanf("%d",&xfy[i]);
while(e--)
{
scanf("%d%d%d",&a,&b,&d);
addEdge(a,b,d);
addEdge(b,a,d);
}
o=s;
init2();
dijkstra();
;i<=v;i++) resHero=max(resHero,dis[i]);
;i<k;i++) addEdge(,xfy[i],),addEdge(xfy[i],,);
o=;
init2();
dijkstra();
;i<=v;i++) resXfy=max(resXfy,dis[i]);
if(resHero<=resXfy*c) printf("%d\n",resHero);
else printf("%d\n",resXfy);
}
;
}
The Preliminary Contest for ICPC Asia Nanchang 2019 B. Fire-Fighting Hero的更多相关文章
- The Preliminary Contest for ICPC Asia Nanchang 2019 E. Magic Master
题目:https://nanti.jisuanke.com/t/41352 思路:约瑟夫环 由题意得第k张牌即求 k 为 第几个 报数为m+1 的单位 用队列模拟即可 #include<bits ...
- The Preliminary Contest for ICPC Asia Shanghai 2019 C Triple(FFT+暴力)
The Preliminary Contest for ICPC Asia Shanghai 2019 C Triple(FFT+暴力) 传送门:https://nanti.jisuanke.com/ ...
- The Preliminary Contest for ICPC Asia Nanjing 2019/2019南京网络赛——题解
(施工中……已更新DF) 比赛传送门:https://www.jisuanke.com/contest/3004 D. Robots(期望dp) 题意 给一个DAG,保证入度为$0$的点只有$1$,出 ...
- 计蒜客 41391.query-二维偏序+树状数组(预处理出来满足情况的gcd) (The Preliminary Contest for ICPC Asia Xuzhou 2019 I.) 2019年徐州网络赛)
query Given a permutation pp of length nn, you are asked to answer mm queries, each query can be rep ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019 E XKC's basketball team [单调栈上二分]
也许更好的阅读体验 \(\mathcal{Description}\) 给n个数,与一个数m,求\(a_i\)右边最后一个至少比\(a_i\)大\(m\)的数与这个数之间有多少个数 \(2\leq n ...
- [The Preliminary Contest for ICPC Asia Nanjing 2019] A-The beautiful values of the palace(二维偏序+思维)
>传送门< 前言 这题比赛的时候觉得能做,硬是怼了一个半小时,最后还是放弃了.开始想到用二维前缀和,结果$n\leq 10^{6}$时间和空间上都爆了,没有办法.赛后看题解用树状数组,一看 ...
- 计蒜客 The Preliminary Contest for ICPC Asia Nanjing 2019
F Greedy Sequence You're given a permutation aa of length nn (1 \le n \le 10^51≤n≤105). For each ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019
A:Who is better? 题目链接:https://nanti.jisuanke.com/t/41383 题意: 类似于有N个石子,先手第一次不能拿完,每次后手只能拿 1 到 前一次拿的数量* ...
- The Preliminary Contest for ICPC Asia Nanjing 2019
传送门 A. The beautiful values of the palace 题意: 给出一个\(n*n\)的矩阵,并满足\(n\)为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充. ...
随机推荐
- npm scripts
参考资料1:[https://docs.npmjs.com/misc/scripts] 参考资料2:[http://www.ruanyifeng.com/blog/2016/10/npm_script ...
- BUGKU (Take the maze)
首先进行查壳,没有壳. 随便输入,看程序执行信息.随意输入字符串,提示key error 放到IDA中打开,在左侧函数窗口中找到main0,F5反编译,进行分析.具体已在分析在图中标识. 关于main ...
- eve-ng
eve-ng eve-ng采用的是和web-iou一样的B/S模式,进步的地方是它只需拖动鼠标就可以搭建拓朴,比web-iou要直观. 此虚拟机已经集成了IOL的L2.L3以及vIOS的L ...
- C学习笔记-typedef
typedef是一种高级数据特性,它能使某一类型创建自己的名字 typedef unsigned char BYTE; typedef struct man MAN; BYTE b = 0x12; 与 ...
- windows10 AppStore安装 应用商店重新安装
点击左下角的搜索按钮,如下图所示 输入powershell,在结果中找到widows powershell应用,如下图所示 右键单击widows powershell应用,选择以管理员运行,如 ...
- SqlServer中union 和 union all的区别
⒈UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同.⒉对重复结果的处理:UNION在进行表链接后会筛选掉重复的数据,UNION ALL不会去除重复的 ...
- (电脑重置之后)win10在桌面点右键鼠标一直转圈;无法点击桌面图标;
昨天重置系统之后,发现了这个毛病.桌面任务栏都能正常点击,就是一到桌面,无法点击桌面上面的图标(刚开机的时候还可以点).想新建文件夹来着,一点右键,鼠标即开始转圈圈.本来以为自己能好,结果第二天了还这 ...
- MateBook 换内存条
欢迎关注微信公众号:猫的尾巴有墨水 为啥要拆MateBook D笔记本? 最近这个Windows 10更新后,内存暴增,每次禁用windows update和同步服务模块后,依然不能彻底解决内存爆炸的 ...
- redis配置文档细节问题
在window10环境下,redis的.conf配置文件在使用时,不可以有多余的空白符.比如为了对其在配置的前方添加两个空格. 这么做会导致redis-server使用这个配置文件的时候无法正常启动, ...
- Hive 教程(三)-DDL基础
DDL,Hive Data Definition Language,数据定义语言: 通俗理解就是数据库与库表相关的操作,本文总结一下基本方法 hive 数据仓库配置 hive 数据仓库默认位置在 hd ...