P4822 [BJWC2012]冻结
思路
和p4568类似的分层图最短路
从上一层向下一层连边权/2的边即可
代码
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
int u[5000100],v[5000100],w[5000100],fir[5000100],nxt[5000100],cnt,n,m,k,s,t,dis[5000100],vis[5000100];
struct QNode{int dis,x;bool operator < (const QNode &b) const{return dis>b.dis;}
};
priority_queue<QNode> q;
void addedge(int ui,int vi,int wi){++cnt;u[cnt]=ui;v[cnt]=vi;w[cnt]=wi;nxt[cnt]=fir[ui];fir[ui]=cnt;
}
void dij(int s){memset(dis,0x3f,sizeof(dis));memset(vis,0,sizeof(vis));dis[s]=0;q.push((QNode){0,s});while(!q.empty()){QNode u=q.top();q.pop();if(vis[u.x])continue;vis[u.x]=true;for(int i=fir[u.x];i;i=nxt[i]){if(dis[v[i]]>dis[u.x]+w[i]){dis[v[i]]=dis[u.x]+w[i];q.push((QNode){dis[v[i]],v[i]});}}}
}
int main(){scanf("%d %d %d",&n,&m,&k);s=1,t=n;for(int i=1;i<=m;i++){int a,b,c;scanf("%d %d %d",&a,&b,&c);for(int j=1;j<=k+1;j++){addedge(a+(n*(j-1)),b+(n*(j-1)),c);addedge(b+(n*(j-1)),a+(n*(j-1)),c);}for(int j=1;j<=k;j++){addedge(a+(n*(j-1)),b+(n*(j)),c/2);addedge(b+(n*(j-1)),a+(n*(j)),c/2); }}for(int i=1;i<=k;i++)addedge(t+(n*(i-1)),t+(n*i),0);dij(s);printf("%d\n",dis[t+k*n]);return 0;
}
转载于:https://www.cnblogs.com/dreagonm/p/10550083.html
P4822 [BJWC2012]冻结相关推荐
- 解决Ubuntu 14.04 Unity桌面环境登录后冻结问题
如果你把Ubuntu从13.10更新到14.04,你也许会遇到用Unity桌面环境登录时冻结的现象.引导进入Ubuntu14.04,输入验证信息,系统会挂起,冻结在那里.如果你稍微幸运些,你还能看到鼠 ...
- 昨夜,5G R16标准正式冻结!5G物联网扬帆起航
作者:赵小飞 物联网智库 整理发布 转载请注明来源和出处 导 读 昨天夜里,负责5G标准的国际组织3GPP TSG#88全体会议宣布5G R16标准冻结.在新冠疫情全球肆虐的背景下,标准化推进工作遇 ...
- PG 9.4 行冻结信息的测试
有在网上找过一些关于vacuum_freeze_min_age参数是如何影响vacuum冻结旧行的文章.类似的参考资料可以参看链接: http://blog.csdn.net/luojinbai/ar ...
- 为什么python打开pygame秒关闭后在运行_当我关闭Pygame时屏幕冻结
我推荐以下代码.首先,它包括时钟,这样你的程序就不会让CPU除了轮询事件什么也不做.其次,它调用pygame.quit(),防止程序在windows上空闲运行时冻结.# Sample Python/P ...
- JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
JS组件系列--Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案 参考文章: (1)JS组件系列--Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案 (2) ...
- 同步等待异步操作,为什么Wait()在这里冻结程序
本文翻译自:Synchronously waiting for an async operation, and why does Wait() freeze the program here Pref ...
- 三座”大山“或让谷歌无人机送货项目被冻结
[阅读原文] 作者:楠沨 谷歌展开过许多创新研发项目,这些项目曾经引发了舆论关注和科技发烧友的兴趣,但是项目均以失败告终,比如超级光纤宽带服务.谷歌眼镜.机器人研究等.后来在成立控股母公司Alphab ...
- pytorch 冻结层操作 + 学习率超参数设置
pytorch finetune冻结层操作 知乎文章:pytorch 两种冻结层的方式 - 知乎 文章说了两种冻结层的方法: 一.设置requires_grad为False 第一步: for para ...
- BZOJ 2662: [BeiJing wc2012]冻结(最短路)
这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. ---------------------------------------- ...
最新文章
- Visual Studio下Qt调用IDL
- 网络层:构成超网(CIDR)
- Java核心类库篇6——IO
- 最长配对(51Nod-2494)
- 拉普拉斯变换_拉普拉斯变化(s变换)定义与性质
- delphi连接sql server的字符串2011-10-11 16:07
- php jq ajax 4个下拉框联动案列,AJAX_AJAX实现下拉框联动,想当年,为了实现三级联动, - phpStudy...
- android消息机制—Looper
- UNIX网络编程——shutdown 与 close 函数 的区别
- Mybatis传递多个参数
- 第四季-专题6-Linux内核子系统
- 拓端tecdat|R语言进行相关矩阵分析及其网络可视化
- 技术分享 | Online DDL 工具 gh-ost
- HttpClient 4.1版本,模拟登录,终于成功了(2)
- win10玩我的世界java_我的世界win10java下载
- 计算机9网络连接不上,本地连接连不上,教您电脑本地连接连不上怎么解决
- 计算机基础,Java介绍和环境搭建及Hello World
- 周报,当前是第几周 ?
- Super Ugly Number
- 数据结构(C语言)- 稀疏矩阵的快速乘法