博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[USACO09OPEN]捉迷藏Hide and Seek
阅读量:6469 次
发布时间:2019-06-23

本文共 923 字,大约阅读时间需要 3 分钟。

OJ题号:洛谷2951

思路:Dijkstra+堆优化。注意是无向图,所以加边时要正反各加一遍。

1 #include
2 #include
3 #include
4 #define dis first 5 #define to second 6 const int N=20001,inf=0x7fffffff; 7 typedef std::pair
Edge; 8 int n,m,d[N]; 9 std::vector
e[N];10 void add(int a,int b) {11 e[a].push_back(b);12 }13 void dijkstra() {14 __gnu_pbds::priority_queue
> q;15 __gnu_pbds::priority_queue
>::point_iterator a[n+1];16 for(int i=1;i<=n;i++) {17 a[i]=q.push((i==1)?(Edge){ 0,i}:(Edge){inf,i});18 d[i]=(i==1)?0:inf;19 }20 while(!q.empty()) {21 Edge x=q.top();22 q.pop();23 if(x.dis==inf) continue;24 int u=x.to;25 for(std::vector
::iterator i=e[u].begin();i
dis) {47 id=i;48 dis=d[i];49 count=1;50 }51 }52 printf("%d %d %d\n",id,dis,count);53 return 0;54 }

 

转载于:https://www.cnblogs.com/skylee03/p/6900761.html

你可能感兴趣的文章
Velocity处理多余空白和多余空白行问题
查看>>
java值传递
查看>>
判断一个数是否为素数的一个讨论(一)
查看>>
DB2与oracle有什么区别
查看>>
创建一个多级文件目录
查看>>
Picasa生成图片幻灯片页面图文教程
查看>>
js获取当前时间的前一天/后一天
查看>>
[洛谷P3978][TJOI2015]概率论
查看>>
Python字符串的格式化
查看>>
C#反射---属性
查看>>
服务器常用的状态码及其对应的含义如下
查看>>
zoom和transform:scale的区别
查看>>
幸福框架:可扩展的、动态的、万能的 编号生成器
查看>>
黄聪:PHP 防护XSS,SQL,代码执行,文件包含等多种高危漏洞
查看>>
svn status 显示 ~xx
查看>>
常用HiveQL总结
查看>>
[转]使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
查看>>
POJ 3311 Hie with the Pie(状压DP + Floyd)
查看>>
HDU 1402 A * B Problem Plus FFT
查看>>
[CareerCup] 17.3 Factorial Trailing Zeros 求阶乘末尾零的个数
查看>>