1003

思路:

  最短路+dp;

  节点在a-b天里不能使用

  那么我们准备每一组a-b求一条最短路,如果没有,则用极大值表示;

  cost[a,b]记录这个最短路;

  然后,开始dp;

  dp[i]=min(dp[i],dp[j]+cost[j+1][i]*(i-j)+k);

  dp[i]表示前i天最小费用;

  最后输出dp[n]-k;

来,上代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; #define ll long long ll n,m,k,e,map[][],cost[][],que[**],dp[]; bool if_[][]; inline void in(ll &now)
{
register char Cget=getchar();now=;
while(Cget>''||Cget<'') Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
} ll spfa(ll u,ll v)
{
ll dis[],can[],init[],h=,tail=;
for(ll i=;i<=m;i++) can[i]=true,dis[i]=0x7ffffff,init[i]=false;
for(ll i=u;i<=v;i++)
{
for(ll j=;j<=m;j++) if(if_[i][j]) can[j]=false;
}
que[]=,dis[]=,init[]=true;
while(h<tail)
{
ll now=que[h++];init[now]=false;
for(ll i=;i<=m;i++)
{
if(can[i]&&dis[i]>dis[now]+map[now][i])
{
dis[i]=dis[now]+map[now][i];
if(!init[i])
{
init[i]=true;
que[tail++]=i;
}
}
}
}
return dis[m];
} int main()
{
in(n),in(m),in(k),in(e);ll u,v,w;
memset(dp,/,sizeof(dp));
memset(map,/,sizeof(map));
while(e--)
{
in(u),in(v),in(w);
map[u][v]=map[v][u]=min(w,map[v][u]);
}
in(e);
while(e--)
{
in(w),in(u),in(v);
for(ll i=u;i<=v;i++) if_[i][w]=true;
}
for(ll i=;i<=n;i++)
{
for(ll j=i;j<=n;j++)
{
cost[i][j]=spfa(i,j);
}
}
dp[]=;
for(ll i=;i<=n;i++)
{
for(ll j=;j<i;j++)
{
dp[i]=min(dp[i],dp[j]+cost[j+][i]*(i-j)+k);
}
}
cout<<dp[n]-k;
}

AC日记——[ZJOI2006]物流运输 bzoj 1003的更多相关文章

  1. BZOJP1003 [ZJOI2006]物流运输trans

    BZOJP1003 [ZJOI2006]物流运输trans 1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MB Sub ...

  2. BZOJ 1003 [ZJOI2006]物流运输trans

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

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

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

  4. BZOJ(1) 1003 [ZJOI2006]物流运输

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

  5. BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)

    Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: ...

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

    [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 8973  Solved: 3839[Submit][Status][Di ...

  7. [ZJOI2006]物流运输

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

  8. bzoj1003 [ZJOI2006]物流运输

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

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

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

随机推荐

  1. ICSharpCode.SharpZipLib.dll

    using ICSharpCode.SharpZipLib.Checksums; using ICSharpCode.SharpZipLib.Zip; namespace { /// <summ ...

  2. 必须使用member initialization list来初始化的情况

    // member initialization #include <iostream> using namespace std; class Circle { double radius ...

  3. 2017 ACM-ICPC EC-Final ShangHai(思维乱搞赛)

    感觉全是思维乱搞题. Gym - 101775J Straight Master 给你n种扑克,你每次可以出连续的3 ~ 5 张,问你能否出完. Sample Input 2 13 1 2 2 1 0 ...

  4. 动态规划:HDU1224-Free DIY Tour

       Free DIY Tour Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. 51nod_1459 最短路 dijkstra 特调参数

    好多基础知识都没补完,只好看到.用到一个赶紧补全一个,并且保证下次需要的时候直接用,不用回来再补: 其实这个算法是在补同余最短路的时候用到的,当时突然发现理解算法导论上的原理甚至有效性证明,但是就是没 ...

  6. python资源大全2

    原文链接 网络 Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包.可用作交互式包处理程序或单独作为一个库. pypcap, Pcapy, pylibpcap: 几个不同 libpcap ...

  7. 初识Java之入门学习(扫盲)

    一,开发环境的配置 1. jdk1.8的安装 2. 环境变量的配置 3.MyEclipse8.5的安装 jdk是什么: JDK 是Java开发工具包 (Java Development Kit ) 的 ...

  8. 怕忘记-windows 2003服务器安装Node.js NPM

    现在高版本的Nodejs安装已经自带了NPM模块,本次我需要安装的是:supervisor 执行命令: npm install -g supervisor 等待安装完成. 查看版本可以cmd里面运行: ...

  9. laravel5.2总结--csrf保护

      CSRF攻击:     CSRF 顾名思义,是伪造请求,冒充用户在站内的正常操作.我们知道,绝大多数网站是通过 cookie 等方式辨识用户身份(包括使用服务器端 Session 的网站,因为 S ...

  10. Java web学习总结

    javaweb学习总结(十四)——JSP原理 孤傲苍狼 2014-07-24 09:38 阅读:46603 评论:37     JavaWeb学习总结(十三)——使用Session防止表单重复提交 孤 ...