poj 2479 Maximum sum(简单dp,最大连续和拓展)
来源:互联网 发布:单片机协议栈开发 编辑:程序博客网 时间:2024/06/05 16:40
题意:
在一个整数序列中,找出不相互覆盖的两段,且非空。
使得这两段里面所有数的和最大。
思路:
假设下标从1开始。
L是从1到i最大的连续和,R是从n到i最大的连续和。
scanf("%d", &t); while (t--) { scanf("%d", &n); rep(i, 1, n) scanf("%d", a+i); dp[0][1] = a[1]; rep(i, 2, n) dp[0][i] = max (a[i], dp[0][i-1] + a[i]); dp[1][n] = a[n]; urep(i, n-1, 1) dp[1][i] = max (a[i], dp[1][i+1] + a[i]); L[1] = a[1];rep(i, 2, n) L[i] = max (L[i-1], dp[0][i]); R[n] = a[n];urep(i, n-1, 1) R[i] = max (R[i+1], dp[1][i]); int ans = -inf; rep(i, 1, n-1) ans = max (ans, L[i]+R[i+1]); printf("%d\n", ans); }
0 0
- poj 2479 Maximum sum(简单dp,最大连续和拓展)
- Poj 2479 Maximum sum【双向DP/最大连续和】
- POJ 2479 Maximum sum & POJ 2573 Max Sequence (DP,最大连续子串和)
- POJ 1050 To the Max && POJ 2479Maximum sum(DP最大连续子段和)
- poj 2479 dp Maximum sum求两段连续不重叠子段的最大和
- poj 2479 Maximum sum 最大数字连续和
- POJ 2593 Max Sequence POJ 2479 Maximum sum (线性dp 最大连续两不重叠子段和)
- POJ 2479 Maximum sum (DP&双最大子段和)
- poj 2479 Maximum sum(dp&最大子段和)
- UVA108 - Maximum Sum(最大连续和)
- Maximum Sum 最大子矩阵和+dp+(最大连续子序列的变形)
- poj 2479 Maximum sum 最大连续子串的变异
- poj-2479 Maximum sum 【最大字串和】
- POJ-2479-Maximum sum-双向dp-2次连续区间和
- poj 2479 Maximum sum (子序列和最大问题)
- POJ 2479 Maximum sum(2次最大字段和)
- ural 1146 Maximum Sum 最大连续和
- Maximum Subsequence Sum最大连续数列和
- 关于inputStream.available()方法获取下载文件的总大小
- C++Socket编程步骤
- 网格搜索 C++实现 机器暴力参数优化
- 正则表达式随笔
- C++ string测试
- poj 2479 Maximum sum(简单dp,最大连续和拓展)
- [Android Camera]关于Android Camera Orientation的一些总结
- IaaS, PaaS和SaaS
- Js的四舍五入和进一(保留两位小数)
- hibernate常见面试题
- android视频播放器
- [iOS]FCC form 740 如何填写
- ubuntu_mysql安装
- 关于JavaScript执行onload()方法和jquery$(function(){})区别