题意:给出一列火车,可以由三个火车头拉,每个火车头最多拉m节车厢(这m节车厢需要保持连续),再给出n节车厢,每节车厢的人数,问最多能够载多少人到终点。

可以转化为三个长度相等的区间去覆盖n个数,使得这些数的和最大。

用dp[i][j]表示前i个数用j个区间覆盖所得到的最大值,状态转移则为覆盖第i个数,或者不覆盖第i个数。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6
 7
 8 int dp[50005][5],sum[50005];
 9
10 int main()
11 {
12     int ncase,n,i,j,ans,m;
13     scanf("%d",&ncase);
14     while(ncase--)
15     {
16         memset(dp,0,sizeof(dp));
17         memset(sum,0,sizeof(sum));
18         scanf("%d",&n);
19         for(i=1;i<=n;i++)
20         {
21             scanf("%d",&ans);
22             sum[i]=sum[i-1]+ans;
23         }
24         scanf("%d",&m);
25         for(i=1;i<=n;i++)
26         {
27             for(j=1;j<=3;j++)
28             {
29                 if(i<=m*j) dp[i][j]=sum[i];//i小于可以覆盖得数字的总数,全部覆盖
30                 else
31                 dp[i][j]=max(dp[i-1][j],dp[i-m][j-1]+sum[i]-sum[i-m]);
32             }
33         }
34         printf("%d\n",dp[n][3]);
35     }
36     return 0;
37 }

View Code

参看的这一篇-http://www.cnblogs.com/tmeteorj/archive/2012/09/13/2683926.html

话说读题的时候不认识passenger coaches(车厢)这个单词,以为是站台(可以有人上有人下),然后还在想为什么都没有说相应的乘客要到哪个站台下车----= =不知道想到哪儿去了---5555

又-一次看题解---话说这样想不出来就看题解真的好么@_@

go--go--

转载于:https://www.cnblogs.com/wuyuewoniu/p/4298632.html

POJ 1976 A Mini Locomotive【DP】相关推荐

  1. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

  2. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  3. NUC1131 Triangle【DP】

    Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...

  4. LeetCode:完全平方数【279】【DP】

    LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...

  5. 【DP】序列 题解

    [DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...

  6. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

  7. BestCoder冠军赛 - 1005 Game 【DP】

    [题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...

  8. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...

    1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...

  9. zzuliOJ 1894: 985的方格难题 【dp】

    1894: 985的方格难题 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 369  Solved: 75 Description 985走入了一个n ...

最新文章

  1. 干掉Spring Cloud,这个框架是微服务的未来!
  2. 对计算机上的浏览器的介绍,Edge浏览器的前世今生 史上最全Edge浏览器介绍
  3. 使用星际译王查词(安装字典和声音引擎)
  4. springboot的war和jar包
  5. java将图片变成圆角_android图片处理之让图片变成圆形
  6. 【短语学习】盈余量分析(earned value analysis)
  7. 招人!入职阿里仅1年,我和做AI的程序员薪资翻了2倍!
  8. matlab电机仿真 pdf,现代永磁同步电机控制原理及MATLAB仿真 pdf+随书仿真模型
  9. php操作memcache
  10. 微信公众号文章的爬取(搜狗微信搜索)
  11. vue项目安装vuex报错:Object(...) is not a function“
  12. 如何在Windows 10上不用鼠标使用文件资源管理器
  13. 无法连接 树莓派 网线连接电脑_树莓派网线直连笔记本电脑
  14. java下载pdf_java实现文件下载..pdf
  15. 百度地图实现测量面积和测量距离功能
  16. post请求https安全证书问题2.0
  17. oracle数据库报错:ORA-01654: 索引 XXX 无法通过 128 (在表空间 xxx 中) 扩展
  18. 三个Python自动化测试高效工具的使用总结
  19. (转)连续信号(八)| 傅里叶变换的性质 | 积分、微分特性 + 时域、频域卷积 + 帕斯瓦尔
  20. 2019 杭电第九场1007 Rikka with Travels

热门文章

  1. centos 重启网络服务的方法
  2. 管道过滤器模式(Pipe and Filter)与组合模式(修改)
  3. 2008台北英特尔信息技术峰会主题演讲精选-王文汉
  4. 【0702作业】输出两种菱形(实心菱形和空心菱形)
  5. 广州图书馆借阅抓取——httpClient的使用
  6. npm的一些常用命令(在国内,建议使用cnpm,在淘宝镜像里面下载就行)
  7. 【Linux开发】V4L2应用程序框架
  8. PHP中的字符串 — 表示方法
  9. 怎么用javascript进行拖拽
  10. sqlserver中,如果正确得到中文的长度