http://poj.org/problem?id=2479

从前向后保存起点到每一点的最长串,从后向前保存尾点到每一点的最长串。

然后枚举中断点,找前后和最大值就行了。

#include<iostream>
#include<cstdio>
#define MIN -0x3f3f3f3f;
using namespace std; int a[],lmax[],rmax[],n; int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
lmax[] = MIN;
rmax[n+] = MIN;
for(int i = ;i <= n;i++) scanf("%d",&a[i]);
int sum = ;
for(int i = ;i <= n;i++)
{
sum += a[i];
if(lmax[i-] < sum) lmax[i] = sum;
else lmax[i] = lmax[i-];
if(sum < ) sum = ;
}
sum = ;
for(int i = n;i >= ;i--)
{
sum += a[i];
if(rmax[i+] < sum) rmax[i] = sum;
else rmax[i] = rmax[i+];
if(sum < ) sum = ;
}
int maxx = MIN;
for(int i = ;i < n;i++) maxx = max(maxx,lmax[i]+rmax[i+]);
printf("%d\n",maxx);
}
return ; }

POJ_2479_DP的更多相关文章

随机推荐

  1. webpack 实时编译typescript与scss

    webpack.config.js const path = require('path'); const CopyWebpackPlugin = require('copy-webpack-plug ...

  2. JavaScript substring()

    JavaScript substring() 方法 参数 描述 start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop 可选.一个非负的整数, ...

  3. C#事件(Event): 发布符合 .NET Framework Guidelines 的事件

    本文翻译整理自:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/events/how-to-publish-event ...

  4. linux常用命令,最基础

    rmdir keda1/ 6 touch test.java 创建空文件 7 拷贝文件 cp 源文件 目标文件 cp test.java test1.java 8 删除文件rm -r 递归删除 -rf ...

  5. 悄摸直播(三)—— 搭建rtmp服务器(smart_rtmpd - rtmp服务器搭建)

    悄摸直播 -- javaCV实现本机摄像头画面远程直播 搭建rtmp服务器 一.素材 rtmp服务器:smart_rtmpd ffmpeg工具:ffmpeg.exe 二.搭建 1.下载smart_rt ...

  6. java 魔术

    每4个字节都有对应的含义

  7. python 注册登录(文件操作)

    name = input("请注册用户:") password = input("请注册密码:") with open(file="user" ...

  8. get_字段_display()

    gender_choices = ((1, '男'), (2, '女')) gender = models.IntegerField(verbose_name='性别', choices=gender ...

  9. vue需要知道哪些才能算作入门以及熟练

    前两天接到一个面试官问我vue什么程度才算作可以用于开发,以前从没遇到过类似问题.只能大致说了一些,事后觉得也应该总结一下,前端vue这么火热那究竟什么才算做入门什么才算做熟练,只是我个人观点,不代表 ...

  10. 20200104模拟赛 问题A 图样

    题目 分析: 老规矩,遇到期望要准备好随时投降... 大致想到了按位处理,然后分别下去搜索,再用组合数加加减减一下... 但是两个连通块之间连边的期望怎么算呢? 很好,投降... 下来看题解... 果 ...