HDU5280 Senior's Array(简单DP)
2016-02-17 11:00
253 查看
题目链接:传送门
题意:
给定一个长度为n的序列,和一个改动的值p,必须从原序列中选一个位置改动成p,
求改动后的区间和的最大值。
分析:
枚举位置+最大区间和。
复杂度O(n^2);
代码例如以下:
题意:
给定一个长度为n的序列,和一个改动的值p,必须从原序列中选一个位置改动成p,
求改动后的区间和的最大值。
分析:
枚举位置+最大区间和。
复杂度O(n^2);
代码例如以下:
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; typedef long long LL; const int maxn = 1010; const LL inf = 1e15+10; LL a[maxn],b[maxn]; LL dp[maxn]; int main() { int t,n,p; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&p); for(int i=0;i<n;i++) scanf("%I64d",a+i); LL ans = -inf; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(j==i) b[j]=p; else b[j]=a[j]; dp[j]=b[j]; } for(int j=1;j<n;j++){ dp[j]=max(dp[j-1]+b[j],dp[j]); ans=max(ans,dp[j]); } } printf("%I64d\n",ans); } return 0; }
相关文章推荐
- CSS读书笔记:布局
- 服务器不能设置内容类型HTTP头信息后发送
- 程序在别的机器上无法运行的问题
- ArcGIS教程:空间参考和地理处理
- linux下redis安装部署
- Android面试(四)(转)
- 基于Flume的美团日志收集系统(二)改进和优化
- Android之RecyclerView简单使用(三)
- IDEA配置maven
- 升级ADT
- 彩票调度算法权重分配
- 遇到的常见JS与CSS问题及解决方法
- SQLHelper类
- (笔记)电路设计(十一)之DC/DC电源转换方案设计应用
- 1035. Password (20)
- JS or C#?不存在的脚本之争(UnityScript 不是 Javascript)
- FastCV主要接口分析之二
- TCP/UDP 协议介绍
- Android Volley框架的使用(4)
- 修改Centos 主机名颜色(只为区分主备以免误操作)