[USACO09OPEN]捉迷藏Hide and Seek
OJ题号:洛谷2951
思路:Dijkstra+堆优化。注意是无向图,所以加边时要正反各加一遍。
#include<cstdio>
#include<vector>
#include<ext/pb_ds/priority_queue.hpp>
#define dis first
#define to second
const int N=,inf=0x7fffffff;
typedef std::pair<int,int> Edge;
int n,m,d[N];
std::vector<int> e[N];
void add(int a,int b) {
e[a].push_back(b);
}
void dijkstra() {
__gnu_pbds::priority_queue<Edge,std::greater<Edge> > q;
__gnu_pbds::priority_queue<Edge,std::greater<Edge> >::point_iterator a[n+];
for(int i=;i<=n;i++) {
a[i]=q.push((i==)?(Edge){,i}:(Edge){inf,i});
d[i]=(i==)?:inf;
}
while(!q.empty()) {
Edge x=q.top();
q.pop();
if(x.dis==inf) continue;
int u=x.to;
for(std::vector<int>::iterator i=e[u].begin();i<e[u].end();i++) {
int& next=*i;
if(d[u]+<d[next]) {
d[next]=d[u]+;
q.modify(a[next],(Edge){d[next],next});
}
}
}
}
int main() {
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++) {
int a,b;
scanf("%d%d",&a,&b);
add(a,b);
add(b,a);
}
dijkstra();
int id,dis=,count=;
for(int i=;i<=n;i++) {
if(d[i]==dis) count++;
if(d[i]>dis) {
id=i;
dis=d[i];
count=;
}
}
printf("%d %d %d\n",id,dis,count);
return ;
}
[USACO09OPEN]捉迷藏Hide and Seek的更多相关文章
- 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
题目戳 题目描述 Bessie is playing hide and seek (a game in which a number of players hide and a single play ...
- P2951 【[USACO09OPEN]捉迷藏Hide and Seek】
典型的最短路,而且只要再加一点点操作,就能得到答案 所以可以直接套模板 具体看程序:: #include<cstdio> #include<queue>//队列专属头文件 #i ...
- Luogu 2951 捉迷藏Hide and Seek
P2951 [USACO09OPEN]捉迷藏Hide and Seek 题目描述 Bessie is playing hide and seek (a game in which a number o ...
- USACO Hide and Seek
洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek 洛谷传送门 JDOJ 2641: USACO 2009 Open Silver 1.Hide and Seek JDOJ传 ...
- BZOJ3402: [Usaco2009 Open]Hide and Seek 捉迷藏
3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 51 Solved: 4 ...
- BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏
题目 3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec Memory Limit: 128 MB Description 贝 ...
- 3402: [Usaco2009 Open]Hide and Seek 捉迷藏
3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 78 Solved: 6 ...
- 【BZOJ-1941】Hide and Seek KD-Tree
1941: [Sdoi2010]Hide and Seek Time Limit: 16 Sec Memory Limit: 162 MBSubmit: 830 Solved: 455[Submi ...
- [BZOJ1941][Sdoi2010]Hide and Seek
[BZOJ1941][Sdoi2010]Hide and Seek 试题描述 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他 ...
随机推荐
- ES系列十六、集群配置和维护管理
一.修改配置文件 1.节点配置 1.vim elasticsearch.yml # ======================== Elasticsearch Configuration ===== ...
- jQuery实现鼠标点击div外的地方div隐藏消失的效果
css部分: <style type="text/css"> .pop { width:200px; height:130px; background:#080;} & ...
- Ext.util.Format.date与Ext.Date.format区别, 转换时间戳
在Extjs中装时间戳使用如下两种都可以: Ext.util.Format.date(time,'U'); Ext.Date.format(time, 'U'); 为了找到它们的区别,查看源代码,以E ...
- 使用git pull提示refusing to merge unrelated histories
创建了一个origin,两个人分别clone 分别做完全不同的提交 第一个人git push成功 第二个人在执行git pull的时候,提示 fatal: refusing to merge unre ...
- CNN卷积核计算
作者:十岁的小男孩 目录 单层卷积核计算 三维卷积核计算 Padding=Valid&&Same 总结
- google 与服务器搭建
一.申请账号 二.创建实例 VPN设置 :https://juejin.im/post/5b665a51f265da0f7d4f1ab3
- Laravel框架中的event事件操作
有时候当我们单纯的看 Laravel 手册的时候会有一些疑惑,比如说系统服务下的授权和事件,这些功能服务的应用场景是什么,其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情,但是当我们在工作中多 ...
- hdu3183 rmq求区间最值的下标
两个月前做的题,以后可以看看,是rmq关于求区间最值的下标 /* hdu3183 终点 给一个整数,可以删除m位,留下的数字形成一个新的整数 rmq 取n-m个数,使形成的数最小 */ #includ ...
- Redis 5.0 集群搭建
Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...
- bootstrap之表单和图片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...