这道题居然卡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. USB_HID读写上位机VC++

    在工程属性-->链接器-->添加以下库 open 打开,close 关闭,打开后将获得reader 与writer 的handle,分别进行读写即可 #pragma once #ifdef ...

  2. c#中ObservableCollection&lt;T&gt;排序方法

    之前用到的一段代码,记录一下 public static class ObservableExtension { public static void Sort<TSource, TKey> ...

  3. webform 创建树

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  4. SQLSERVER 表名数据库名作为变量 必须使用动态SQL(源自网络)

    动态语句基本语法: 1 :普通SQL语句可以用exec执行 Select * from tableName exec('select * from tableName') exec sp_execut ...

  5. mysql运行参数详解

    1, 查看MySQL服务器配置信息 mysql> show variables; 2, 查看MySQL服务器运行的各种状态值 mysql> show global status; 3, 慢 ...

  6. DataNode,NameNode,JobTracker,TaskTracker用jps查看无法启动解决办法

    查看tasktracker的50060的地址无法正常查看,主要有两个原因,一个是在/tmp目录下有以前使用2.02版本留下的文件没有删除,二个是因为端口被占用了 解决方法: 一.删除/tmp目录下所有 ...

  7. Centos 6 安装 epel yum库

    1.获得epel库安装rpm包 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 2.安装获得的r ...

  8. 设置dt height 保证dd在同一行

    <html>   <head>   <meta charset="UTF-8">   <meta name="Author&qu ...

  9. HDU-3853 LOOPS(概率DP求期望)

    题目大意:在nxm的方格中,从(1,1)走到(n,m).每次只能在原地不动.向右走一格.向下走一格,概率分别为p1(i,j),p2(i,j),p3(i,j).求行走次数的期望. 题目分析:状态转移方程 ...

  10. 安装配置Oracle数据库时的一些处理思路

    配置Oralce客户端或者服务器端出现问题时,可考虑如下步骤: 1 检查如下文件:client端:D:\app\Administrator\product\11.2.0\client_3\networ ...