bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务
http://www.lydsy.com/JudgeOnline/problem.php?id=1820
很容易想到dp[i][a][b][c] 到第i个收件地点,三个司机分别在a,b,c 收件地点的最少耗油量
枚举第i个收件地点有哪个司机过来转移
N*M*M*M= 8e9 TLE&&MLE
压去一维,到第i个收件地点,一定有一个司机在第i个收件地点
N*M*M=4e7 MLE
滚动数组滚掉第一维
#include<cstdio>
#include<cstring>
#include<iostream> using namespace std; #define M 201 int dis[M][M];
int dp[][M][M]; void read(int &x)
{
x=; char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) { x=x*+c-''; c=getchar(); }
} int main()
{
int m;
read(m);
for(int i=;i<=m;++i)
for(int j=;j<=m;++j)
read(dis[i][j]);
int x,last;
read(last);
memset(dp[],,sizeof(dp[]));
int inf=dp[][][];
dp[][][]=dis[][last];
dp[][][]=dis[][last];
dp[][][]=dis[][last];
int u=,v=;
while(scanf("%d",&x)!=EOF)
{
swap(u,v);
memset(dp[v],,sizeof(dp[v]));
for(int i=;i<=m;++i)
for(int j=i;j<=m;++j)
if(dp[u][i][j]!=inf)
{
dp[v][i][j]=min(dp[v][i][j],dp[u][i][j]+dis[last][x]);
dp[v][min(last,j)][max(last,j)]=min(dp[v][min(last,j)][max(last,j)],dp[u][i][j]+dis[i][x]);
dp[v][min(last,i)][max(last,i)]=min(dp[v][min(last,i)][max(last,i)],dp[u][i][j]+dis[j][x]);
}
last=x;
}
int ans=inf;
for(int i=;i<=m;++i)
for(int j=i;j<=m;++j)
ans=min(ans,dp[v][i][j]);
cout<<ans;
}
1820: [JSOI2010]Express Service 快递服务
Time Limit: 10 Sec Memory Limit: 64 MB
Submit: 1118 Solved: 482
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
0 5 0 6
6 0 5 6
1 6 0 6
1 1 1 0
1 1 1 1 4 4 2 2 2 3
Sample Output
样例说明:到每个请求收件地点的司机分别为1 1 1 1 3 3 2 2 2 1,因此司机1只需从起使点1移动到地点3,司机2只需停留在地点2,司机3从起始点3移动到地点4。
HINT
bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务的更多相关文章
- [bzoj1820][JSOI2010][Express Service 快递服务] (动态规划)
Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, ...
- BZOJ1820:[JSOI2010]Express Service 快递服务(DP)
Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, ...
- 【BZOJ1820】[JSOI2010]Express Service 快递服务 暴力DP
[BZOJ1820][JSOI2010]Express Service 快递服务 Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在 ...
- BZOJ 1820: [JSOI2010]Express Service 快递服务( dp )
dp(i,j,k)表示在处理第i个业务, 另外2个在j,k处. 第一维可以滚动... --------------------------------------------------------- ...
- 1820: [JSOI2010]Express Service 快递服务
1820: [JSOI2010]Express Service 快递服务 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 847 Solved: 325 ...
- bzoj千题计划300:bzoj4823: [Cqoi2017]老C的方块
http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色 ...
- bzoj千题计划196:bzoj4826: [Hnoi2017]影魔
http://www.lydsy.com/JudgeOnline/problem.php?id=4826 吐槽一下bzoj这道题的排版是真丑... 我还是粘洛谷的题面吧... 提供p1的攻击力:i,j ...
- bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪
http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...
- bzoj千题计划177:bzoj1858: [Scoi2010]序列操作
http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 #include<cstdio> ...
随机推荐
- Unity3d Transform.forward和Vector3.forward的区别!
在Unity中有两个forward,一个是Transform.forward一个是Vector3.forward. 对于Vector3来说,它只是缩写.没有其它任何含义. Vector3.forwar ...
- LintCode——筛子求和
描述:扔n个骰子,向上面的数字之和为 S .给定 Given n,请列出所有可能的 S 值及其相应的概率. 样例:给定n=1,返回 [ [1, 0.17], [2, 0.17], [3, 0.17], ...
- 使用开源项目免费申请 JetBrains 全家桶 IDEA 开源许可证
JetBrains 公司旗下的 IDEA 功能都十分强大,深受各种编程语言相关的程序员的喜爱.我个人而言,经常使用 WebStorm,也使用过 PyCharm. 正常情况下 JetBrains 公司的 ...
- abcdocker 的博客
技术参考总结 abcdocker 的博客 09月 3 篇 20日 Centos7 图形化创建KVM 10日 Nginx 代理Google 进行*** 10日 mac 安装装逼神器cmatrix 08月 ...
- 团队项目7——团队冲刺beta版本目录
Beta版本冲刺计划及安排http://www.cnblogs.com/zy-96/p/8017331.html 第二次项目冲刺(Beta版本12.04) www.cnblogs.com/zy-96/ ...
- Alpha冲刺-第一天
1.1 今日完成任务情况以及遇到的问题. 完成任务情况 杜世康:弹幕的爬取 刘丹,李玉莹:系统统计功能实现 曹莹雯,尹楠: 主播管理功能实现 王静雅 :团队编码规范说明与本次博文撰写 遇到的问题 在爬 ...
- Docker(二十三)-Docker使用pipework配置本地网络
需求 在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求.要实现这个需求,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了. 下 ...
- css文本垂直居中
1,一般flexca 2,行高 3,行高加边框或者透明边框
- 随web应用启动而自启动的后台线程
当前遇到一个需求: 需要在web应用启动的时候就启动一个线程定时的来做某项工作. 有两种解决方法: 1.增加一个监听器Listener来实现相关功能. 2.增加一个随项目启动的servlet来实现相关 ...
- Kafka与Logstash的数据采集对接
Logstash工作原理 由于Kafka采用解耦的设计思想,并非原始的发布订阅,生产者负责产生消息,直接推送给消费者.而是在中间加入持久化层--broker,生产者把数据存放在broker中,消费者从 ...