CodeForcesGym 100753E Change of Scenery

Change of Scenery

Time Limit: 10000ms

Memory Limit: 262144KB

This problem will be judged on CodeForcesGym. Original ID: 100753E
64-bit integer IO format: %I64d      Java class name: (Any)

解题:最短路

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef pair<int,int> pii;
 4 const int maxn = 10010;
 5 struct arc{
 6     int to,cost,next;
 7     arc(int x = 0,int y = 0,int z = -1){
 8         to = x;
 9         cost = y;
10         next = z;
11     }
12 }e[2010000];
13 int head[maxn],cnt[maxn],d[maxn],tot,N,M,K;
14 void add(int u,int v,int w){
15     e[tot] = arc(v,w,head[u]);
16     head[u] = tot++;
17 }
18 priority_queue<pii,vector<pii>,greater<pii>>q;
19 bool done[maxn];
20 void dijkstra(){
21     while(!q.empty()) q.pop();
22     memset(d,0x3f,sizeof d);
23     memset(cnt,0,sizeof cnt);
24     q.push(pii(d[1] = 0,cnt[1] = 1));
25     while(!q.empty()){
26         int u = q.top().second;
27         q.pop();
28         if(done[u]) continue;
29         done[u] = true;
30         for(int i = head[u]; ~i; i = e[i].next){
31             if(d[e[i].to] > d[u] + e[i].cost){
32                 d[e[i].to] = d[u] + e[i].cost;
33                 cnt[e[i].to] = cnt[u];
34                 q.push(pii(d[e[i].to],e[i].to));
35             }else if(d[e[i].to] == d[u] + e[i].cost)
36                 cnt[e[i].to]++;
37         }
38     }
39 }
40 int main(){
41     int x,u,v,w;
42     while(~scanf("%d%d%d",&N,&M,&K)){
43         memset(head,-1,sizeof head);
44         while(K--) scanf("%d",&x);
45         for(int i = tot = 0; i < M; ++i){
46             scanf("%d%d%d",&u,&v,&w);
47             add(u,v,w);
48             add(v,u,w);
49         }
50         dijkstra();
51         puts(cnt[N] > 1?"yes":"no");
52     }
53     return 0;
54 }
55 /*
56 3 3 3
57 1 2 3
58 1 2 1
59 2 3 2
60 1 3 3
61 4 5 2
62 1 4
63 1 2 2
64 2 4 1
65 1 3 1
66 3 4 2
67 1 4 2
68 */

时间: 2024-10-17 15:15:53

CodeForcesGym 100753E Change of Scenery的相关文章

词组习语3057组

superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律.前缀后缀规律.词之间的相似性规律等等. 1 Anointing of the Sick British English 2 Civvy Street Clerk of the Closet 3 I mean I must say 4 I suppose so I will thank you to do something 5 Incoming mail server Lithium battery 6 M

centos yum安装ftp 及解决vsftp错误500 OOPS: cannot change directory:/home/**

centos yum安装ftp 及解决vsftp错误500 OOPS: cannot changedirectory:/home/**   1.查看服务器有没有安装ftp包 rpm -qa |grep vsftp 2.yum  安装 yum -y install vsftpd 3.启动vsftp的服务 service vsftpd start 4.关闭防火墙 service iptables stop 5.测试匿名访问 修改配置文件 vsftpd.conf [[email protected]

How to change SMTP Banner, HELO,EHLO Greetings for Zimbra

1- Take Zimbra backup or VM snapshot before doing any changes 2- Enter the following command to change SMTP Banner: # su - zimbra $ zmlocalconfig -e postfix_smtpd_banner="yourmailserver.yourdomain.com" 3- Then if you want to change HELO/EHLO nam

【oracle】oracledba4 when you need to change storage options

In which scenarios would you rebuild an index? (Choose all that a pply.) A. when you need to disable the index usage B. when you need to change storage options C. when you need to enable index monitoring D. when you need to move the index to another 

zoj 2156 - Charlie&#39;s Change

题目:钱数拼凑,面值为1,5,10,25,求组成n面值的最大钱币数. 分析:dp,01背包.需要进行二进制拆分,否则TLE,利用数组记录每种硬币的个数,方便更新. 写了一个 多重背包的 O(NV)反而没有拆分快.囧,最后利用了状态压缩优化 90ms: 把 1 cents 的最后处理,其他都除以5,状态就少了5倍了. 说明:貌似我的比大黄的快.(2011-09-26 12:49). #include <stdio.h> #include <stdlib.h> #include <

eclipse中,项目有红叉之-Cannot change version of project facet Dynamic Web Module to 3.1

1.打开Problems查看错误原因Window->Show View->Other->General->Problems 2.查看问题 3.发现是Cannot change version of project facet Dynamic Web Module to 3.1 4.根据2里截图的Resource,得到是哪个项目,项目右击->Properties->Project Faces->Dynamic Web Module,更据相应Dynamic Web M

Linux指令类型(一)change指令

一.change指令 chattr chgrp chmod chown chfn chsh chroot 二.ch指令详细介绍 (1)chattr 全名:change attribute 作用:chattr命令用于改变文件属性 语法:chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...] 参数: -R 递归处理,将指定目录下的所有文件及子目录一并处理. -v<版本编号> 设置文件或目录版本. -V 显示指令执行过程. +<属性>

多个jdk 变更 引起 tomcat插件 启动不了 The JRE could not be found.Edit the server and change the JRE location.

The JRE could not be found.Edit the server and change the JRE location. 在Windows->Preferences->Server->Runtime Environments 选择Tomcat->Edit,在jre中选择相应的jdk版本,完事.

[转]解决Cannot change version of project facet Dynamic web module to 2.5

我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynamic web module to 2.5,如图: 其实在右边可以看到改到2.5需要的条件以及有