https://www.lydsy.com/JudgeOnline/problem.php?id=2662

第一次写分层图(捂脸)

一开始真的naive地建图了,T到飞起..

可以省下建图的空间,直接在dis数组上拓展一维,同时维护点的编号和高度。

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. #include<queue>
  5.  
  6. using namespace std;
  7.  
  8. inline int rd(){
  9. int ret=,f=;char c;
  10. while(c=getchar(),!isdigit(c))f=c=='-'?-:;
  11. while(isdigit(c))ret=ret*+c-'',c=getchar();
  12. return ret*f;
  13. }
  14.  
  15. const int MAXN=*;
  16.  
  17. struct Edge{
  18. int next,to,w;
  19. }e[];
  20. int ecnt,head[MAXN];
  21. inline void add(int x,int y,int w){
  22. e[++ecnt].next = head[x];
  23. e[ecnt].to = y;
  24. e[ecnt].w = w;
  25. head[x] = ecnt;
  26. }
  27.  
  28. int n,m,num;
  29.  
  30. queue<int> Q,Qk;
  31. int dis[MAXN][],inq[MAXN][];
  32. void spfa(){
  33. memset(dis,0x3f,sizeof(dis));
  34. Q.push();Qk.push();dis[][]=;inq[][]=;
  35. while(!Q.empty()){
  36. int top=Q.front();Q.pop();int tmp=Qk.front();Qk.pop();
  37. inq[top][tmp]=;
  38. for(int i=head[top];i;i=e[i].next){
  39. int v=e[i].to;
  40. if(dis[v][tmp]>dis[top][tmp]+e[i].w){
  41. dis[v][tmp]=dis[top][tmp]+e[i].w;
  42. if(!inq[v][tmp]) Q.push(v),Qk.push(tmp),inq[v][tmp]=;
  43. }
  44. if(tmp<num&&dis[v][tmp+]>dis[top][tmp]+(e[i].w>>)){
  45. dis[v][tmp+]=dis[top][tmp]+(e[i].w>>);
  46. if(!inq[v][tmp+]) Q.push(v),Qk.push(tmp+),inq[v][tmp+]=;
  47. }
  48. }
  49. }
  50. }
  51. int main(){
  52. n=rd();m=rd();num=rd();
  53. int x,y,w;
  54. for(int i=;i<=m;i++){
  55. x=rd();y=rd();w=rd();
  56. add(x,y,w);add(y,x,w);
  57. }
  58. spfa();
  59. int ans=<<;
  60. for(int i=;i<=num;i++)ans=min(ans,dis[n][i]);
  61. cout<<ans;
  62. return ;
  63. }

[BZOJ] 2662: [BeiJing wc2012]冻结的更多相关文章

  1. BZOJ 2662: [BeiJing wc2012]冻结(最短路)

    这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. ---------------------------------------- ...

  2. Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路

    2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 647  Solved: 348[Submit][Sta ...

  3. bzoj 2662 [BeiJing wc2012]冻结——分层图

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2662 这种的都是分层图. #include<iostream> #include ...

  4. bzoj 2662: [BeiJing wc2012]冻结【分层图+spfa】

    死活想不到分层图emmm 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为val/2,表示免了这条边的边权,然后答案就是第0层的s到k层的 ...

  5. BZOJ_2662_[BeiJing wc2012]冻结_分层图最短路

    BZOJ_2662_[BeiJing wc2012]冻结_分层图最短路 Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切, ...

  6. 分层图最短路【bzoj2662】[BeiJing wc2012]冻结

    分层图最短路[bzoj2662][BeiJing wc2012]冻结 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" ...

  7. bzoj 2659: [Beijing wc2012]算不出的算式

    2659: [Beijing wc2012]算不出的算式 Time Limit: 3 Sec  Memory Limit: 128 MB Description 算不出的算式背景:曾经有一个老掉牙的游 ...

  8. BZOJ 2661: [BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭 ...

  9. BZOJ 2663: [Beijing wc2012]灵魂宝石

    2663: [Beijing wc2012]灵魂宝石 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 261  Solved: 108[Submit][S ...

随机推荐

  1. [JSOI2009]密码

    Description Input Output Sample Input 10 2 hello world Sample Output 2 helloworld worldhello HINT 一看 ...

  2. bzoj 4695: 最假女选手 && Gorgeous Sequence HDU - 5306 && (bzoj5312 冒险 || 小B的序列) && bzoj4355: Play with sequence

    算导: 核算法 给每种操作一个摊还代价(是手工定义的),给数据结构中某些东西一个“信用”值(不是手动定义的,是被动产生的),摊还代价等于实际代价+信用变化量. 当实际代价小于摊还代价时,增加等于差额的 ...

  3. kibana通过nginx配置访问用户验证

    背景: 现在搭建好了efk,其中kibana是可以在网页上访问的可视化工具,搭建好的kibana默认没有访问控制权限,任何人都能访问,这样存在一些安全隐患和隐私问题.这里我把设置的访问验证过程记录一下 ...

  4. 关于controller返回的页面js文件和css文件404问题的正式解决

    谨用此博客记录一下这条卡了两个星期的bug…… 还是之前的问题,通过get方法,后台@Controller返回页面然后弹窗.但是不知道为什么一直所有js文件和css文件都报404…… (之前的博客记录 ...

  5. Springboot的static和templates

    static和templates部分参考博客:https://blog.csdn.net/wangb_java/article/details/71775637 热部署参考博客:https://www ...

  6. nodejs 快要变成爬虫界的王者

    nodejs 快要变成爬虫界的王者 爬虫这东西是很多数据采集必须要的东西. 但是现在随着网页不断发展,已经出现了出单纯的网页,到 ajax 网页, 再到 spa , 再到 websocket 应用,一 ...

  7. asp.net 图表

    感谢csdn深南大道,文章转自http://blog.csdn.net/smartsmile2012/article/details/17356673 前台代码 <div> <asp ...

  8. vue-cli脚手架(框架)

    一.创建vue项目 npm install vue-cli -g #-g全局 (sudo)npm install vue-cli -g #mac笔记本 vue-init webpack myvue # ...

  9. CF1080D Olya and magical square

    思路: 构造. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; ll sum[]; int ...

  10. iOS操作系统的层次结构

    iOS操作系统4层结构,如下表 可触摸层 Cocoa Touch layer 媒体层 Media layer 核心服务层 Core Services layer 核心操作系统层 Core OS lay ...