牛客网 牛客小白月赛2 H.武-最短路(Dijkstra)
H.武
链接:https://www.nowcoder.com/acm/contest/86/H
这个题写的有点想发脾气,自己的板子垃圾了,这个题要用优先队列优化版的迪杰斯特拉的板子才可以过,但是自己太智障了,段错误,编译错误,段错误,内存超限,运行超时,段错误,a了。
不想说什么了,简直蠢到家了。
代码(学长的板子就是好):
1 //H-学长的模板
2 #include<iostream>
3 #include<cstdio>
4 #include<cstring>
5 #include<cmath>
6 #include<cstdlib>
7 #include<algorithm>
8 #include<queue>
9 #include<vector>
10 #include<stack>
11 using namespace std;
12 typedef long long ll;
13 const int maxn=1e5+10;
14 const double eps=1e-7;
15 const int N=1e5+10;
16 const int INF=0x3f3f3f3f;
17
18
19 int head[N*2], nex[N*2], to[N*2], val[N*2], dis[N], vis[N], tot;
20
21 struct cmp{
22 bool operator()(int a,int b) {
23 return dis[a]>dis[b];
24 }
25 };
26
27 priority_queue<int, vector<int>, cmp > Q;
28
29 void init() {
30 tot = 0;
31 while(!Q.empty()) Q.pop();
32 memset(head, -1, sizeof(head));
33 memset(dis, 127, sizeof(dis));
34 memset(vis, 0, sizeof(vis));
35 }
36
37 void addedge(int u, int v, int w) {
38 to[tot] = v;
39 nex[tot] = head[u];
40 val[tot] = w;
41 head[u] = tot++;
42 }
43
44 void Dijkstra(int S) {
45 Q.push(S);
46 dis[S] = 0, vis[S] = 1;
47 while(!Q.empty()) {
48 int u = Q.top();
49 Q.pop();
50 for(int i=head[u]; i!=-1; i=nex[i]) {
51 int v = to[i];
52 if(!vis[v] && dis[u]+val[i] < dis[v]) {
53 dis[v] = dis[u]+val[i];
54 Q.push(v), vis[v] = 1;
55 }
56 }
57 }
58 }
59
60 int main(){
61 int n,p,k;
62 ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
63 init();
64 cin>>n>>p>>k;
65 for(int i=0;i<n-1;i++){
66 int u,v,w;
67 cin>>u>>v>>w;
68 addedge(u,v,w);
69 addedge(v,u,w);
70 }
71 Dijkstra(p);
72 sort(dis+1,dis+1+n);
73 cout<<dis[k+1]<<endl;
74 }
就先这样吧,F,I,J比赛的时候没写出来也没时间了,还没补,F是搜索+博弈,其他两个还没看,补出来再来粘代码,我圆润的离开了(gun)。
牛客网 牛客小白月赛2 H.武-最短路(Dijkstra)的更多相关文章
- 牛客小白月赛2 H 武 【Dijkstra】
链接:https://www.nowcoder.com/acm/contest/86/H来源:牛客网 题目描述 其次,Sεlιнα(Selina) 要进行体力比武竞赛. 在 Sεlιнα 所在的城市, ...
- Newcoder 小白月赛20 H 好点
Newcoder 小白月赛20 H 好点 自我感觉不错然后就拿出来了. 读读题之后我们会发现这是让我们求一堆数,然后这些数一定是递减的. 就像这样我们选的就是框起来的,然后我们可以看出来这一定是一个单 ...
- 牛客网 牛客小白月赛5 I.区间 (interval)-线段树 or 差分数组?
牛客小白月赛5 I.区间 (interval) 休闲的时候写的,但是写的心情有点挫,都是完全版线段树,我的一个队友直接就水过去了,为啥我的就超内存呢??? 试了一晚上,找出来了,多初始化了add标记数 ...
- 牛客网 牛客小白月赛12 B.华华教月月做数学-A^B mod P-快速幂+快速乘
链接:https://ac.nowcoder.com/acm/contest/392/B来源:牛客网 华华教月月做数学 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
- 牛客网 牛客小白月赛1 J.おみやげをまらいました
J.おみやげをまらいました 链接:https://www.nowcoder.com/acm/contest/85/J来源:牛客网 随便写写. 代码: 1 #include<ios ...
- 牛客网 牛客小白月赛1 I.あなたの蛙が帰っています-卡特兰数,组合数阶乘逆元快速幂
I.あなたの蛙が帰っています 链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网 这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处 ...
- 牛客网 牛客小白月赛1 H.写真がとどいています
H.写真がとどいています 链接:https://www.nowcoder.com/acm/contest/85/H来源:牛客网 这个题数乱了,导致wa了好几次. 特别弱智,从A开始往上,就 ...
- 牛客网 牛客小白月赛1 F.三视图
F.三视图 链接:https://www.nowcoder.com/acm/contest/85/F来源:牛客网 这个题自己想一下三维的,正视图和左视图中y轴为行数,x轴和z轴是列数,因为 ...
- 牛客网 牛客小白月赛1 E.圆与三角形-公式题
E.圆与三角形 链接:https://www.nowcoder.com/acm/contest/85/E来源:牛客网 这个题把公式推一下, 发现就是1+sinA*r,sinA最大为1,所以 ...
随机推荐
- JAVA运行环境配置
win10下,右击我的电脑-->高级系统设置-->高级-->环境变量-->系统变量 1新建 变量名 JAVA_HOME 变量值 C:\Program Files\Jav ...
- 遗传算法 | Java版GA_TSP (2)
嗯哼,上一篇博客中用Java实现了遗传算法求解TSP(Java版GA_TSP(我的第一个Java程序)),但明显求解效果不太好,都没太好意思贴出具体的结果,今天捣腾了下,对算法做了一些小改进,求解效果 ...
- CMD命令简介
cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一般Wind ...
- C#编程:正则表达式验证身份证校验码-10
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Fragment 和 Activity 之间通信
在 Activity 中获取 Fragment 实例: FragmentManager 提供了一个类似于 findViewById 的方法,专门用于从布局文件中获取 Fragment 实例: //通过 ...
- IOS开发学习笔记025-xib和storyboard
stotyboard : 描述软件界面,大范围,比较适合整个软件的所有界面 xib文件的使用:描述软件界面,小范围,比较适合描述小界面 在xcode新建文件窗口可以看到两个文件,storyboard和 ...
- Jmeter-深入理解cookie,session,token
1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁 ...
- Python_字符串操作
name='hu\tqihang' #\t是TAB键 1.打印相关 print(name.center(50,'-')) #一共打印50个字符,不够的 ...
- [python][django学习篇][12]继续设计博客首页,点击博客标题能显示文章的详情
回顾一下开发流程:配置url, 编写视图函数,编写对应模板 配置URL 首页视图匹配的 URL 去掉域名后,是一个空的字符串.每篇文章的详情有着不同的 URL,因此可以设计文章详情页面URl:< ...
- springboot集成pagehelper插件
1.在pom.xml中引入依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifact ...