求一个区间内连续两段不相交区间最大和。

// File Name: 2479.cpp
// Author: Missa_Chen
// Created Time: 2013年06月22日 星期六 16时19分02秒#include <iostream>
#include <string>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <map>
#include <stack>
#include <set>
#include <cstdlib>using namespace std;#define LL long long
const int inf = 0x3f3f3f3f;
const int maxn = 5e4 + 5;
int n;
int num[maxn], st[maxn], end[maxn];
int main()
{int cas;scanf("%d", &cas);while (cas --){scanf("%d", &n);for (int i = 1; i <= n; ++i)scanf("%d", &num[i]);for (int i = 0; i <= n + 1; ++i)st[i] = end[i] = -inf;int tmp = -inf, ans = -inf;for (int i = 1; i <= n; ++i){if (tmp >= 0)tmp += num[i];elsetmp = num[i];end[i] = max(end[i - 1], tmp);}tmp = -inf;for (int i = n; i >= 1; --i){if (tmp >= 0)tmp += num[i];elsetmp = num[i];st[i] = max(st[i + 1], tmp);}for (int i = 1; i < n; ++i)ans = max(ans, end[i] + st[i + 1]);printf("%d\n", ans);}return 0;
}

  

转载于:https://www.cnblogs.com/Missa/p/3149888.html

poj 2479 (DP)相关推荐

  1. POJ 3017 DP + 单调队列 + 堆

    题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...

  2. POJ 1159 (DP)

    题目:http://poj.org/problem?id=1159 思路: 找出原串的最长回文子串,当然这里说的回文子串可以不连续.用原串的长度减去最长回文子串的长度即可得出结果. 设原串a[5001 ...

  3. POJ 1037 DP

    题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...

  4. POJ 1661 DP

    Help Jimmy Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11071   Accepted: 3607 Descr ...

  5. POJ 2479 Maximum sum

    http://poj.org/problem?id=2479 题意: 给出一个整数串,求连续子串1和连续子串2,不相交并且串1加串2的和最大. 思路: 其实就是求最大连续和,题意要求就是求两段最大连续 ...

  6. POJ 3666 dp

    题意 传送门 POJ 3666 基本思路是对 N 个位置枚举所有可能高度,并 dp 求最大值.可能高度取 N 个位置的高度即可,排序以方便顺序 dp.对于升序的情况 dp[i][j]=max{dp[i ...

  7. POJ 3666(DP)

    题目链接:http://poj.org/problem?id=3666 题目大意:给一个串,要求修改最少使得串满足非递增或非递减 题目思路:刚开始没想到,后来经学长提醒如果串里的数字变1000可以怎么 ...

  8. POJ 3257 DP

    题意: 思路: 用vector存上本出发点能到的地方&成本&有趣指数(用结构体保存) 然后DP就好了 f[i][j]表示到了i 成本为j的有趣指数最大是多少 f[vec[i][k].e ...

  9. poj 2392 dp 不是很懂哎!!!Space Elevator

    大意:有K种block去建塔,每种每个都有一个高度H,用了当前的block塔的高度不能超出a,和每种的数量.求塔最高能建多高. 分析:这题就是一个多重背包,但有一点变动,必须先以a从小到大排序,因为如 ...

最新文章

  1. Cocos Studio的动画系统介绍
  2. SQL Server 2016 AlwaysOn 安装及配置介绍
  3. “桥铁”旅行团春节昌旺 业界称成港人出游新模式
  4. 某些列满足某些条件就被改是什么值,不满足就被改为另外的一些值(python pandas)
  5. Struts2的核心过滤器
  6. sql优化中in关键字_工作中遇到的一个SQL优化问题与解决方案
  7. C#接口归纳总结实例详解
  8. SQL2012 之 创建备份计划
  9. mysql 5.5 1366错误_laravel5.3 在 mysql5.1中运行出错 error: 1366 Incorrect integer
  10. EfficientPS:目前排名第一的高效高精度全景分割算法
  11. Linux逻辑运算优先级,linux中的逻辑运算和正则表达式
  12. R plot图片背景设置为透明_R语言(绘图入门)
  13. app推送怎么实现更好的效果?
  14. CSS W3C 统一验证工具
  15. java stdin怎么用_如何用Java编写ssh的stdin?
  16. 微信公众号开发工具汇总
  17. Your Customers Do Not Mean What They Say
  18. 怎么看服务器硬盘数据信息,如何查看服务器的硬盘数量
  19. Hive-JDBC-Kerberos认证java代码实现
  20. 【永远的二八定律】☆【永远的二八定律】

热门文章

  1. 面试题 03.02. 栈的最小值
  2. 数据:以太坊2.0合约质押新增7.47万ETH
  3. DeFi借贷协议FLUX和比原链(BTM)达成全面战略合作协议,支持BTM借贷及挖矿
  4. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨2.56%
  5. SAP License:SAP的采购组
  6. SAP License:第三只眼看财务-快速编制现金流量
  7. SAP License:满足管理三重属性 ERP发展专业化是方向
  8. MySQL高级知识(十四)——行锁
  9. 企业网站+Axure企业官网通用模板+公司官网通用模板+web端高保真原型+门户官网+物流企业+门户网站+服务中心+产品中心+新闻中心+帮助中心+企业官网+公司官网+公司网站+登录注册+高保真交互
  10. Building a Console Application on Windows Mobile