bzoj1922: [Sdoi2010]大陆争霸 分层图最短路
来源:互联网 发布:科比2000年总决赛数据 编辑:程序博客网 时间:2024/04/30 23:13
最短路问题,d2表示把这个城市所有的保护网破坏的最晚时刻,d1代表到达这个城市的时刻。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;int save[3100][3100],d1[3100],d2[3100],num[3100];bool p[3100][3100],vis[3100];int m,n;void dij(){ for(int i=1;i<=n;i++) { d1[i]=0x3f3f3f3f; } d1[1]=0; int flag,minn; for(int i=1;i<=n;i++) { minn=0x3f3f3f3f,flag=0; for(int j=1;j<=n;j++) { if(!vis[j]&&max(d1[j],d2[j])<minn&&!num[j]) { minn=max(d1[j],d2[j]); flag=j; } } if(flag) { vis[flag]=1; } else { break; } for(int j=1;j<=n;j++) if(!vis[j]) { if(p[flag][j]) num[j]--,d2[j]=max(d2[j],minn); d1[j]=min(d1[j],minn+save[flag][j]); } } printf("%d",max(d1[n],d2[n]));}int main(){ int x,y,z; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { save[i][j]=0x3f3f3f3f; } } for(int i=1;i<=m;i++) { scanf("%d%d%d",&x,&y,&z); save[x][y]=min(save[x][y],z); } for(int i=1;i<=n;i++) { scanf("%d",&num[i]); for(int j=1;j<=num[i];j++) { scanf("%d",&y); p[y][i]=1; } } dij(); return 0;}
0 0
- bzoj1922: [Sdoi2010]大陆争霸 分层图最短路
- 【Sdoi2010】【bzoj1922】大陆争霸 最短路
- 【bzoj1922】[Sdoi2010]大陆争霸 最短路变形
- bzoj1922 [Sdoi2010]大陆争霸 有限制最短路
- bzoj1922 [Sdoi2010]大陆争霸 带限制的最短路
- 【带限制最短路】BZOJ1922 [Sdoi2010]大陆争霸
- BZOJ1922 大陆争霸 [最短路]
- 【SDOI2010】【BZOJ1922】大陆争霸
- BZOJ1922: [Sdoi2010]大陆争霸
- BZOJ1922: [Sdoi2010]大陆争霸
- bzoj1922: [Sdoi2010]大陆争霸
- bzoj1922: [Sdoi2010]大陆争霸
- 【bzoj1922】[Sdoi2010]大陆争霸
- [BZOJ1922]大陆争霸-最短路略微扩展
- [bzoj1922][Sdoi2010]大陆争霸 dijkstra
- BZOJ[Sdoi2010]大陆争霸 最短路变形
- BZOJ1922 洛谷P2446 [SDOI2010]大陆争霸
- 【Dijkstra+贪心】BZOJ1922(Sdoi2010)[大陆争霸]题解
- 优秀求职者应主动问的5个问题
- QQ客服设置
- android wifi display
- View中使用Interpolator实现先加速后减速动画
- android 中View, Window, Activity, WindowManager,ViewRoot几者之间的关系
- bzoj1922: [Sdoi2010]大陆争霸 分层图最短路
- 从零开始写PHP (三)
- 终于初步完成了小程序的制作,只通过自己所学的知识还是不够啊
- 【Unity3D自学记录】Unity3D基础知识掌握
- 初探MyGUI
- JDK,SDK,JRE之间的区别
- 暴雪副总裁阐述游戏设计核心理念:游戏性第一
- oracle数据库导入导出命令!
- 芒卡斯特城堡