博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网 牛客小白月赛2 H.武-最短路(Dijkstra)
阅读量:5095 次
发布时间:2019-06-13

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

 

H.武

链接:

这个题写的有点想发脾气,自己的板子垃圾了,这个题要用优先队列优化版的迪杰斯特拉的板子才可以过,但是自己太智障了,段错误,编译错误,段错误,内存超限,运行超时,段错误,a了。

不想说什么了,简直蠢到家了。

 

代码(学长的板子就是好):

1 //H-学长的模板 2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
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
, 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
>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<
<

 

 

 

 

 

 

 

就先这样吧,F,I,J比赛的时候没写出来也没时间了,还没补,F是搜索+博弈,其他两个还没看,补出来再来粘代码,我圆润的离开了(gun)。

 

转载于:https://www.cnblogs.com/ZERO-/p/9729059.html

你可能感兴趣的文章
SSH框架整合 spring struts2 hibernate
查看>>
测试Location对象的Hash属性
查看>>
Python之路,第十五篇:Python入门与基础15
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
JavaScript学习总结
查看>>
Linux常用命令
查看>>
Spring Boot2.0 整合 Kafka
查看>>
GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3
查看>>
在你自己的时区里,一切安排都准时!
查看>>
软件测试技术- 自动贩卖机-因果图&决策图
查看>>
CSS3 Box-sizing
查看>>
并发编程:守护进程、互斥锁、案例、进程间通讯
查看>>
如何使带背景图片的Button按钮中的文字居中偏上显示
查看>>
memcache、redis、mongoDB 如何选择?
查看>>
PHP获取汉字拼音首字母
查看>>
正则表达式2
查看>>
JS同源策略和跨域访问
查看>>
正则 去除html标签
查看>>
FZU 1889 龟兔赛跑
查看>>