题目传送门

这是一道DP+最短路径的好题。

首先预处理每天每个点的最短路径。

用SPFA进行处理。即cost[i][j]为第i天到底j天的1到M点的最小花费。

就可以水水的DP。

设f[i]为第i天的最优方案,f[i]=min(f[i],f[j]+cost[j+1][i]*(i-j)+K);

即从第j天之后开始改变航线。

code:

/**************************************************************
Problem: 1003
User: yekehe
Language: C++
Result: Accepted
Time:32 ms
Memory:1536 kb
****************************************************************/ #include <bits/stdc++.h>
using namespace std;
int N,M,K,e,mp[][],wi[][],tag[];
int cost[][],f[],dist[],l[],h,t,flag[];
int spfa(){
h=t=;
l[++t]=;dist[]=;
while(h<t){
int front=l[++h];flag[front]=;
for(int i=;i<=M;i++){
if(mp[front][i]&&dist[front]+mp[front][i]<dist[i]){
dist[i]=dist[front]+mp[front][i];
if(!flag[i]&&!tag[i])l[++t]=i,flag[i]=;
}
}
}
return dist[M];
}
int main(){
scanf("%d%d%d%d",&N,&M,&K,&e);
for(int i=;i<=e;i++){
int x,y,c;
scanf("%d%d%d",&x,&y,&c);
mp[x][y]=mp[y][x]=c;
}
int R;scanf("%d",&R);
for(int i=;i<=R;i++){
int p,x,y;scanf("%d%d%d",&p,&x,&y);
for(int j=x;j<=y;j++)wi[p][j]=;
}
for(int i=;i<=N;i++){memset(tag,,sizeof(tag));
for(int j=i;j<=N;j++){
for(int k=;k<=M;k++)tag[k]|=wi[k][j];
memset(dist,,sizeof(dist));
cost[i][j]=spfa();
}
}
for(int i=;i<=N;i++){f[i]=1e8;
for(int j=;j<i;j++){
if(cost[j+][i]!=)f[i]=min(f[i],f[j]+cost[j+][i]*(i-j)+K);
}
}
printf("%d",f[N]-K);
}

BZOJ1003_物流运输_KEY的更多相关文章

  1. 【BZOJ1003】【ZJOI2006】物流运输

    1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2556  Solved: 1008[Submit] ...

  2. BZOJ 1003 物流运输 题解 【SPFA+DP】

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

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

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

  4. BZOJ-1003 物流运输trans SPFA+DP

    傻逼错误耗我1h,没给全范围坑我1A.... 1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec Memory Limit: 162 MB Submit: 529 ...

  5. [ZJOI2006]物流运输

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5999  Solved: 2473[Submit][Stat ...

  6. bzoj1003 [ZJOI2006]物流运输

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6300  Solved: 2597[Submit][Stat ...

  7. 【BZOJ】【1003】【ZJOI2006】物流运输trans

    最短路/DP 这题数据规模并不大!!这是重点……… 所以直接暴力DP就好了:f[i]表示前 i 天的最小花费,则有$f[i]=min\{f[j]+cost[j+1][i]+k\} (0\leq j \ ...

  8. 【bzoj1003】[ZJOI2006]物流运输

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6331  Solved: 2610[Submit][Stat ...

  9. bzoj1003: [ZJOI2006]物流运输

    dp+最短路.暴力枚举就可以了.O(n3logn).样例中m=n然后测样例过了.然后 54行习惯性的dis[n]然后就WA了!!!. #include<cstdio> #include&l ...

随机推荐

  1. MapReduce过程详解(基于hadoop2.x架构)

    本文基于hadoop2.x架构详细描述了mapreduce的执行过程,包括partition,combiner,shuffle等组件以及yarn平台与mapreduce编程模型的关系. mapredu ...

  2. 面试知识整理-Java基础

    三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对 ...

  3. C语言main函数的参数

    在Windows下使用gcc编译器: 1.首先介绍下MinGW MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到 ...

  4. hdu 5955 Guessing the Dice Roll 【AC自动机+高斯消元】

    hdu 5955 Guessing the Dice Roll [AC自动机+高斯消元] 题意:给出 n≤10 个长为 L≤10 的串,每次丢一个骰子,先出现的串赢,问获胜概率. 题解:裸的AC自动机 ...

  5. CodeForces 91A Newspaper Headline

    题目链接:CodeForces - 91A  Newspaper Headline 官方题解: In this problem letters from s1 should be taken gree ...

  6. Tomcat组件启动流程图

    看到一张关于Tomcat组件启动流程图,觉得还可以,收藏.

  7. 哈哈,原来IOC容器的bean是存在DefaultSingletonBeanRegistry的一个Map类型的属性当中。

    经过查看源代码发现IOC容器中的bean实例(不知道是不是所有的bean)是存储在一个DefaultSingletonBeanRegistry类实例的一个Map类型的属性当中. 下面是DefaultS ...

  8. 【转】Linux vmstat命令实战详解

    好久没写博客了,上个月忙的晕头转向的实在没有心情.最近会发几篇PowerDNS的,先预告一下. 这篇是纯转的,原贴地址:http://www.cnblogs.com/ggjucheng/archive ...

  9. geos学习笔记:安装和使用

    1.首先在https://trac.osgeo.org/geos下载geos-3.6.2.tar.bz2 解压后 cd geos- ./configue //或选择安装的目录./configure - ...

  10. MySQL性能优化总结(转)

    MySQL性能优化总结   一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存 ...