这道题居然卡SPFA,难受,写了这么长时间的SPFA,都快把dij忘光了;

设d[i][j]为修j条路到i的最短距离,然后跑堆优化dij就行了;

实测中SPFA两组大数据超时严重;

dij约300ms一组大数据;

但是总感觉这个堆优化dij和SPFA好相像啊,奇怪;

 #include<iostream>
 #include<cstdio>
 #include<cstring>
 #include<string>
 #include<cstdlib>
 #include<ctime>
 #include<vector>
 #include<algorithm>
 #include<queue>
 using namespace std;
 #define LL long long
 ;
 ;
 struct node{
     int x,y,next;
     int v;
 }e[maxn*];
 ;
 int n,m,k;
 LL d[maxn][];
 void insert(int x,int y,int v){
     e[++len].y=y;
     e[len].x=x;
     e[len].next=linkk[x];
     linkk[x]=len;
     e[len].v=v;
 }
 void init(){
     scanf("%d%d%d",&n,&m,&k);
     int x,y,v;
     ;i<=m;i++){
         scanf("%d%d%d",&x,&y,&v);
         insert(x,y,v);insert(y,x,v);
     }
 }
 struct bian{
     int x,k;
     LL w;
     bian(int a,int b,LL c){x=a,k=b,w=c;}
     bool operator>(const bian& b)const{
         return w>b.w;
     }
 };
 priority_queue<bian,vector<bian>,greater<bian> > q;
 void dij(){
     memset(d,,sizeof(d));
     ;i<=k;i++)d[][i]=;
     q.push(bian(,,));
     while(!q.empty()){
         bian tmp=q.top();
         q.pop();
         int x=tmp.x;
         int p=tmp.k;
         LL w=tmp.w;
         for(int i=linkk[x];i;i=e[i].next){
             ]){
                 d[e[i].y][p+]=w;
                 q.push(bian(e[i].y,p+,w));
             }
             if(w+e[i].v<d[e[i].y][p]){
                 d[e[i].y][p]=w+e[i].v;
                 q.push(bian(e[i].y,p,d[e[i].y][p]));
             }
         }
     }
 }
 void work(){
     dij();
     cout<<d[n][k]<<endl;
 }
 int main(){
     init();
     work();
 }

[usaco2009febgold]道路翻新 最短路+dp的更多相关文章

  1. hdu 4568 Hunter 最短路+dp

    Hunter Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  2. BZOJ_1003_[ZJOI2006]物流运输_最短路+dp

    BZOJ_1003_[ZJOI2006]物流运输_最短路+dp 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1003 分析: 这种一段一段的显 ...

  3. 【BZOJ-2435】道路修建 (树形DP?)DFS

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3115  Solved: 1002[Submit][Statu ...

  4. BZOJ1003 物流运输 最短路+DP

    1003: [ZJOI2006]物流运输 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条 ...

  5. Codeforces Round #130 (Div. 2) C - Police Station 最短路+dp

    题目链接: http://codeforces.com/problemset/problem/208/C C. Police Station time limit per test:2 seconds ...

  6. BZOJ 1003: [ZJOI2006]物流运输trans(最短路+dp)

    1A,爽! cost[i][j]表示从第i天到第j天不改路线所需的最小花费,这个可以用最短路预处理出.然后dp(i)=cost[j][i]+dp(j-1)+c. c为该路线的花费. --------- ...

  7. BZOJ 1579: [Usaco2009 Feb]Revamping Trails 道路升级( 最短路 )

    最短路...多加一维表示更新了多少条路 -------------------------------------------------------------------------------- ...

  8. [BZOJ1003] [ZJOI2006] 物流运输trans (最短路 &amp; dp)

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...

  9. 道路翻新 (Revamping Trails, USACO 2009 Feb)

    题意:给定m<=50000的1-n有联通的图,求最多可以使K<=20条边变为0的情况下的最短路是多少.. 思路:简单的分层图最短路,对于每个点拆成K个点.. 然后求一边最短路.. code ...

随机推荐

  1. 基于NPOI的Excel数据导入

    从Excel导入数据最令人头疼的是数据格式的兼容性,特别是日期类型的兼容性.为了能够无脑导入日期,折腾了一天的NPOI.在经过测试确实可以导入任意格式的合法日期后,写下这篇小文,与大家共享.完整代码请 ...

  2. php单点登录之模拟淘宝天猫同步登录

    说到单点登录大家都很了解,一个站点登录其他域会自动登录. 单点登录SSO(Single Sign On)的方法有很多,比如:p3p.共享session.共享cookice.第三方OAuth认证. 这里 ...

  3. HTTP 的重定向301,302,303,307(转)

    HTTP 的重定向301,302,303,307(转) (2012-12-11 11:55:04) 转载▼ 标签: 杂谈 分类: 网络 301 永久重定向,告诉客户端以后应从新地址访问.302 作为H ...

  4. require.js笔记

    笔记参考来源:阮一峰  http://www.ruanyifeng.com/blog/2012/10/javascript_module.html   1. 浏览器端的模块只能采用“异步加载”方式 = ...

  5. 2.3 CMMI2级——项目跟踪和控制(Project Monitoring and Control)

    计划不是用来看的,是用来执行的.PP讲述了如何做计划,PMC讲述的就是如何跟踪计划的执行并在实际情况偏离计划时采取纠正行动. 我们先看看SG1,SG1讲述的是如何根据计划来跟踪计划的执行问题. SG1 ...

  6. Linux内核创建一个新进程的过程

    “平安的祝福 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 进程在 ...

  7. 获取JDBC中的ResultSet的记录的条数

    方法一:利用ResultSet的getRow方法来获得ResultSet的总行数 Java代码 ResultSet rs; rs.last(); //移到最后一行 int rowCount = rs. ...

  8. Ps 之路 更改前景色

     用快速选中工具 选中要改变的图片,选中你喜欢的颜色,按Alt+Del

  9. ruby中的reject和reject!

    reject和reject!reject返回不满足代码块的元素数组reject!删除数组中满足代码块的元素 a=[1,2,3,5]a.reject! {|x| x<4}p a #[5] b = ...

  10. BROCADE 300和MD3200扩展柜FC SAN,截图

    这表示俺玩过,其实,这个光交换机在只有一个共享存储的情况下,可用可不用. FC BROCADE只是为了方便后期扩展. FC SAN之类的识别不靠IP,因为不是IP SAN嘛.但也是自己的识别体系.