poj 2479 - Maximum sum
来源:互联网 发布:淘宝店铺导航栏设置 编辑:程序博客网 时间:2024/04/30 15:13
题目:找到一个序列中的两个连续段使得他们的和最大。
分析:dp,最大字段和。双向求最大字段和,枚举结束点找到加和最大值。
说明:与合唱队形类似。(同poj2593)(2011-09-24 02:09)
#include <stdio.h>#include <stdlib.h>int data[ 50005 ];int asum[ 50005 ];int bsum[ 50005 ];void msum( int *D,int *A, int a, int b, int s ){ int sum = 0; for ( int i = a ; i != b ; i += s ) { if ( sum < 0 ) sum = 0; sum += D[ i ]; A[ i ] = sum; } int max = A[ a ]; for ( int i = a+s ; i != b ; i += s ) if ( max < A[ i ] ) max = A[ i ]; else A[ i ] = max;}int main(){ int t,n; while ( scanf("%d",&t) != EOF ) while ( t -- ) { scanf("%d",&n); for ( int i = 1 ; i <= n ; ++ i ) scanf("%d",&data[ i ]); msum( data, asum, 1, n, +1 ); msum( data, bsum, n, 1, -1 ); int max = -20000; for ( int i = 1 ; i < n ; ++ i ) if ( max < asum[ i ] + bsum[ i+1 ] ) max = asum[ i ] + bsum[ i+1 ]; printf("%d\n",max); } return 0;}
0 0
- poj 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- poj 2479 Maximum sum
- Poj 2479 Maximum sum
- POJ-2479-Maximum sum
- POJ 2479 Maximum sum
- poj 2479 Maximum sum
- poj 2479 Maximum sum
- poj 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- poj 2479 - Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- poj-2479 Maximum sum
- 浅析JS运行机制3
- java IO 关闭顺序分析
- TCP通信中一方关闭socket,另一方被强制退出(SIGPIPE)
- centos 配置 jdk tomcat
- Apache Camel框架之事务控制
- poj 2479 - Maximum sum
- Hello C++
- s2sh的配置详解
- 嵌入式 ubuntu12.04下创建PPTP客户端保证可用!
- JavaScript 的apply和call方法
- nyoj209A Bug's Life(并查集)
- IOS软件版本检测更新
- 场景切换
- 黑马程序员-交通灯管理系统