题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5280

解题思路:动态规划,dp[i][0]表示以第i个数结尾时,没把p添加到数列中,dp[i][1]表示以第i个数结尾时,已经把p添加入数列中。

#include<iostream>
#include<cstdio>
#include<cstring>
#define max(a,b) a > b ? a : b
using namespace std;typedef long long LL;
const int maxn = 1005;
const LL inf = 0x3f3f3f3f*0x3f3f3f3f;
int n;
LL p,A[maxn],dp[maxn][2];int main()
{int t;scanf("%d",&t);while(t--){scanf("%d%lld",&n,&p);for(int i = 1; i <= n; i++)scanf("%lld",&A[i]);dp[1][0] = A[1]; dp[1][1] = p;LL ans = -inf;for(int i = 2; i <= n; i++){dp[i][0] = max(dp[i-1][0] + A[i],A[i]);dp[i][1] = max(A[i],p); //之前一直WA的原因。。太粗心了。。dp[i][1] = max(dp[i][1],dp[i-1][1] + A[i]);dp[i][1] = max(dp[i][1],dp[i-1][0] + p);}for(int i = 1; i <= n; i++)ans = max(ans,dp[i][1]);printf("%lld\n",ans);}return 0;
}

hdu 5280(最大子串和变形,dp)相关推荐

  1. HDU 1520 Anniversary party(树形dp)

    HDU 1520 Anniversary party(树形dp) 树形dp第一题!!! 题意很清晰,思路也很明确.很容易找到根节点,即最大的boss,通过根节点向下dp. 状态转移方程: int to ...

  2. HDU 3001 三进制状压DP

    HDU 3001 三进制状压DP N个城市,M条道路,每条道路有其经过的代价,每一个城市最多能够到达两次,求走全然部城市最小代价,起点随意. 三进制状压.存储每一个状态下每一个城市经过的次数. 转移方 ...

  3. hdu 5155 Harry And Magic Box(DP)

    题目链接:hdu 5155 Harry And Magic Box dp[i][j]表示i∗j的矩阵方案数,dp[i][j]从dp[i−k][j−1]中转移,枚举前面j-1列中k行为空,那么这些行在第 ...

  4. hdu 3401 Trade(单调队列优化dp)

    hdu 3401 Trade(单调队列优化dp) 题意:lxhgww喜欢炒股票,他可以在第i天买入或者卖出若干张股票(一天只能买或者卖),两个交易日之间至少相隔w天,问他t天后最多能赚多少. 解题思路 ...

  5. nyoj 174 Max Sequence(最大子串和变形)

    Max Sequence 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 Give you N integers a1, a2 ... aN (|ai| <=100 ...

  6. HDU 5729 Rigid Frameworks(连通性DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5729 [题目大意] 给出一个n*m的方格框,可以在单位矩形中添加两种对角线的线,使得其变得稳定,问 ...

  7. hdu 4778 Gems Fight! 状压dp

    转自wdd :http://blog.csdn.net/u010535824/article/details/38540835 题目链接:hdu 4778 状压DP 用DP[i]表示从i状态选到结束得 ...

  8. HDU -- 2084 数塔(简单DP)

    HDU -- 2084  数塔 题意: 自上而下,选择一条累计和最大的路径 分析: 顶点只与左右两个子节点相关,且子节点路径的选择与顶点无关(无后效性) 状态dp[i][j]:表示(i,j)点向下得到 ...

  9. HDU 4323 Magic Number(编辑距离DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=4323 题意: 给出n个串和m次询问,每个询问给出一个串和改变次数上限,在不超过这个上限的情况下,n个串中有多少个 ...

最新文章

  1. 浅谈 Java Printing
  2. spring-boot配置readonly
  3. vue Mutation 必须是同步函数 为什么_Vue 开发必须知道的 36 个技巧「近1W字」
  4. VC6获取硬盘序列号、型号、修订版本号
  5. (翻译)Google Guava Cache
  6. 记录一个项目测试过程最佳实践及改进建议
  7. 惠普打印机故障代码_惠普打印机故障代码
  8. css单线边框_css中的border-collapse属性如何设置表格边框线?(代码示例)
  9. 客房预订信息java课设_基于jsp的客房预订系统-JavaEE实现客房预订系统 - java项目源码...
  10. 多帧图像增强 matlab,MATLAB中图像增强技术的实现
  11. setoolkit进行钓鱼攻击
  12. Eggjs笔记:egg-mongoose插件的集成,crud操作, 多表关联查询
  13. 天才程序员: 那些年我偷懒没敲的EOS代码, 让我失去了一切, 如果...
  14. STC8H8K64U 的 USB 功能测试(未成功)
  15. 使用animate库
  16. 【太阳黑子预测】太阳黑子变化规律预测matlab仿真
  17. 简易Windows密码查看器
  18. iStylePDF接口对象必知必会系列之Page
  19. 混淆问题(常见问题汇总)
  20. 能在学生用计算机的面上画的图画,中小学生电脑绘画作品图片

热门文章

  1. 《iOS 全埋点技术白皮书》重磅推出
  2. Python运行方式
  3. DAY19-Pillow制作验证码
  4. 【yii2调试神器】yii2-debug能力分析和配置项解析
  5. 解决Linux系统没有/etc/sysconfig/iptables文件
  6. 最长下降/上升子序列问题
  7. 例子:倒计时按钮可用
  8. 【非凡程序员】 OC第十八节课 (数据库mysql和sqlite3)
  9. 使用Crypto++库编译出错 解决办法
  10. 面向.Net程序员的前端优化