博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj2662冻结
阅读量:5076 次
发布时间:2019-06-12

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

话说为什么出题人老是卡$SPFA$啊$qwq$

然而$SPFA$硬是让本宝宝写成了$dij$

分情况讨论就好

/**************************************************************    Problem: 2662    User: zhangheran    Language: C++    Result: Accepted    Time:12 ms    Memory:1356 kb****************************************************************/ #include
#include
#include
#include
#include
using namespace std;int n,m,k;struct data{ int u;int v;int value;int next;}edge[2005];int alist[1010];int cnt;void add(int u,int v,int value){ edge[cnt].v=v; edge[cnt].u=u; edge[cnt].value=value; edge[cnt].next=alist[u]; alist[u]=cnt++; return ;}struct node{
int u;int v;};queue
q;int d[55][105];bool ins[55][105];void spfa(){ d[0][1]=0; ins[0][1]=true; q.push((node){ 0,1}); while(!q.empty()) { node x=q.front(); q.pop(); ins[x.u][x.v]=false; int next=alist[x.v]; while(next!=-1) { int v=edge[next].v; if(d[x.u][v]>d[x.u][x.v]+edge[next].value){ d[x.u][v]=d[x.u][x.v]+edge[next].value; if(!ins[x.u][v]) ins[x.u][v]=true, q.push((node{x.u,v})); } next=edge[next].next; } if(x.u
d[x.u][x.v]+edge[next].value/2){ d[x.u+1][v]=d[x.u][x.v]+edge[next].value/2; if(!ins[x.u+1][v]) ins[x.u+1][v]=true, q.push((node){x.u+1,v}); } next=edge[next].next; } } }}int u,v,value;int main(){ scanf("%d%d%d",&n,&m,&k); memset(d,0x3f3f3f3f,sizeof(d)); memset(alist,-1,sizeof(alist)); for(int i=1;i<=m;i++) scanf("%d%d%d",&u,&v,&value), add(u,v,value), add(v,u,value); spfa(); int minn=0x3f3f3f3f; for(int i=0;i<=k;i++) minn=min(minn,d[i][n]); printf("%d",minn); return 0;}

 

转载于:https://www.cnblogs.com/cn-suqingnian/p/9368570.html

你可能感兴趣的文章
jQuery.form.js使用
查看>>
【ztree】zTree节点增删改
查看>>
不变(Immutable)模式
查看>>
react-native run-android时 SDK location not found.报错
查看>>
75)编写嗅发器
查看>>
内存池原理大揭秘
查看>>
快速探索,音视频技术不再神秘
查看>>
惊喜!腾讯云豪掷660万代金券!助力直通硅谷创业大赛
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>