NOIP前夕:noi.openjudge,Maximum sum

Maximum sum
总Time Limit: 1000msMemory Limit: 65536kB
Description
Given a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below:
            t1     t2 
d(A) = max{ ∑ai + ∑aj | 1 <= s1 <= t1 < s2 <= t2 <= n }
            i=s1   j=s2
Your task is to calculate d(A).
 
Input
The input consists of T(<=30) test cases. The number of test cases (T) is given in the first line of the input. 
Each test case contains two lines. The first line is an integer n(2<=n<=50000). The second line contains n integers: a1, a2, ..., an. (|ai| <= 10000).There is an empty line after each case.
 
Output
Print exactly one line for each test case. The line should contain the integer d(A).
 
Sample Input
1
10
1 -1 2 2 3 -3 4 -4 5 -5
Sample Output
13
Hint
In the sample, we choose {2,2,3,-3,4} and {5}, then we can get the answer
Huge input,scanf is recommended.

求两块最大的互不相交的字序列的和
f[i]表示以i结尾的最大子序列的和
ff[i]表示i之前的最大子序列的和
g[i]表示以i开头的最大子序列的和
gg[i]表示i之后的最大子序列的和

max=ff[i]+gg[i+1];

code:
var t:longint;init:array[1..50000]of longint; ii,i,j,k,n:longint; f,g,ff,gg:array[1..50000]of longint; max:longint; max1,max2:longint; function findmax(x,y:longint):longint; begin if x>y then exit(x) else exit(y); end; begin readln(t); for ii:=1 to t do begin readln(n); for i:=1 to n do read(init[i]); f[1]:=init[1]; ff[1]:=f[1]; max1:=f[1]; for i:=2 to n do begin f[i]:=findmax(f[i-1],0)+init[i]; if f[i]>max1 then max1:=f[i]; ff[i]:=max1; end; g[n]:=init[n]; gg[n]:=init[n]; max2:=gg[n]; for i:=n-1 downto 1 do begin g[i]:=findmax(g[i+1],0)+init[i]; if g[i]>max2 then max2:=g[i]; gg[i]:=max2; end; max:=-maxlongint; for i:=1 to n-1 do if max<ff[i]+gg[i+1] then max:=ff[i]+gg[i+1]; writeln(max); end; end.




转载于:https://www.cnblogs.com/spiderKK/p/4928469.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java EE中的RESTful计时器

在这篇文章中...。 EJB计时器旋风之旅 通过带有示例实现的简单REST接口即时使用EJB计时器 更新&#xff08;2015年7月14日&#xff09; 现在可以在OpenShift上使用该应用程序的前端 。 由于我是前端新手&#xff0c;因此我在其他来源的帮助下组装了此HTML5 AngularJS应用程…

如何查看node的版本及安装的位置?

好多粉丝说我的node版本不支持win7,我把安装包放到了主页QQ群群文件&#xff0c;CSDN资源也有上传。 那么如何查看电脑版本&#xff1f; 电脑快捷键winR&#xff0c;cmd进入黑窗口 node -v 如何查看node安装的位置&#xff1f; where node 如下图所示&#xff1a;

应用安全测试技术DAST、SAST、IAST对比分析

应用安全测试技术DAST、SAST、IAST对比分析-持续更新 版权来源&#xff1a;安全牛首发文章&#xff0c;本文仅补充完善。 一、全球面临软件安全危机 我们即将处于一个软件定义一切的时代&#xff0c;这是 “一个最好的时代&#xff0c;也是一个最坏的时代”。 无论是生活中离不…

android开发之shape详解

很多时候&#xff0c;使用shape能够实现的效果&#xff0c;你用一张图片也能够实现&#xff0c;但问题是一张图片无论你怎么压缩&#xff0c;它都不可能比一个xml文件小&#xff0c;因此&#xff0c;为了获得一个高性能的手机App&#xff0c;我们在开发中应该遵循这样一个原则&…

Fastjson系列漏洞实战和总结

前言 Fastjson是阿里巴巴的开源JSON解析库&#xff0c;它可以解析JSON格式的字符串&#xff0c;支持将Java Bean序列化为JSON字符串&#xff0c;也可以从JSON字符串反序列化到JavaBean。具有执行效率高的特点&#xff0c;应用范围广泛。 目录 Fastjson<1.2.24远程代码执行&a…

我是如何使用laydate日历插件更换掉老项目不好用的日历插件datepicker的

背景:最近整改了一个老项目系统,里面采用的是java+bootstrap+jsp写的,里面的日历插件datepicker特别不好用,容易点击失灵,我决定把它给替换了。 layDate 官网:https://www.layui.com/laydate/ My97DatePicker官网:http://www.my97.net/ 这里简单演示layDate的思路,不展…

用来用去还是觉得SDCMS好用

用来用去还是觉得SDCMS好用 现在可以算是精通了。呵呵&#xff0c;欢迎交流转载于:https://www.cnblogs.com/qiao198/p/4930575.html

spring mvc拦截器_Spring MVC拦截器示例

spring mvc拦截器我认为现在是时候看看Spring的MVC拦截器机制了&#xff0c;这种机制已经存在了很多年&#xff0c;并且是一个非常有用的工具。 Spring Interceptor会按照提示说&#xff1a;在传入的HTTP请求到达您的Spring MVC控制器类之前对其进行拦截&#xff0c;或者相反&a…

Fastjson漏洞

Fastjson概述 Fastjson是阿里巴巴公司开源的一款json解析器&#xff0c;它可以解析 JSON 格式的字符串&#xff0c;支持将 Java Bean 序列化为 JSON 字符串&#xff0c;也可以从 JSON 字符串反序列化到JavaBean。 ➢历史漏洞 Fastjson <1.2.24 反序列化远程命令执行漏洞 Fa…

我是如何用Jquery实现网页缩小放大的

背景:一个比较老的后台系统,客户想操作父窗口的内容,同时查看子窗口,这就需要对页面进行缩小和放大,刚开始领导让我做一个假的隐藏然后缩放,经过测试此法不通,因为这个项目很庞大,框架较老,还有蒙版,使用隐藏hide()属性隐藏后,这个网页就不见了,在N个另一个页面加s…

浅谈哈希表

1. 引言 哈希表&#xff08;Hash Table&#xff09;的应用近两年才在NOI中出现&#xff0c;作为一种高效的数据结构&#xff0c;它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点&#xff0c;就是把数据的存储和查找消耗的时间大大降低&#xff0c;几乎可以看 成是常数时…

什么是分配率?

诸如“不可持续的分配率”和“您需要保持较低的分配率”等短语似乎仅属于Java Champions的词汇表。 复杂&#xff0c;恐怖并被魔术光环包围。 经常发生的情况是&#xff0c;当您更仔细地查看概念时&#xff0c;魔术会随着抽烟消失。 这篇文章试图从提到的条款中删除魔术。 什…

流量分析----CTF题

文章目录 题目背景一、关卡列表二、解题1. 请分析流量&#xff0c;给出黑客使用的扫描器2. 请分析流量&#xff0c;得到黑客扫描到的登陆后台是(相对路径即可)3. 请分析流量&#xff0c;得到黑客使用了什么账号密码登陆了web后台(形式:username/password)4. 请分析流量&#x…

一文教你从零开始设计并实现一个Java扫雷游戏

背景&#xff1a;扫雷这款游戏有着很长的历史&#xff0c;从扫雷被开发出来到现在进行了无数次的优化&#xff0c;这款游戏变得越来越让人爱不释手了&#xff0c;简单的玩法在加上一个好看的游戏界面&#xff0c;每一处的细节都体现了扫雷的魅力。以JAVA语言作为开发环境&#…

C#循环语句(for循环)

循环语句 for(初始条件&#xff1b;循环条件&#xff1b;状态改变) { 循环体 &#xff1b;执行代码&#xff08;break跳出循环体&#xff09; } for(i1&#xff1b;i<100;i) 初始条件是i1;循环条件是i<100,即直到i在1-100之内进行循环&#xff0c;直到100结束循环&#x…

Apache Shiro 认证绕过漏洞 CVE-2020-1957 漏洞复现

Apache Shiro 认证绕过漏洞 CVE-2020-1957 漏洞复现 一、漏洞描述二、漏洞影响三、漏洞复现1、环境搭建2、漏洞复现 四、漏洞POC五、参考链接 一、漏洞描述 Apache Shiro 是一款开源安全框架&#xff0c;提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用&#xff…

H5工程师在谷歌浏览器调试并开发原生APP项目的解决办法

背景:项目是前后端分离,我想在浏览器调试项目,工具使用HB-X。密码是不可输入状态。 1.login.html在HB-X中运行到谷歌浏览器页面 。按F12进入调试模式。 2.密码做了安全防御,不能直接输入,我们在控制台进入。定位到password的id。

在NSUserDefaults中存储自定义类型的数据

将自定义的类的数据以数组的形式直接存储到NSUserDefaults中会报错&#xff0c;需要进行转换&#xff0c;且需要将该类实现NSCoding协议。 e.g. 存储过程 NSMutableArray *archiveArr [NSMutableArray arrayWithCapacity:self.STNArrayList.count];for (STNArrayList *singleL…

「Java代码审计」华夏ERP3.0代码审计

本文转载于&#xff1a;https://blog.csdn.net/Ananas_Orangey/article/details/120340010?ops_request_misc%257B%2522request%255Fid%2522%253A%2522166565951516782427492557%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id166…

vue路由的钩子函数有哪些?都做了哪些事情?

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有: 嵌套的路由/视图表模块化的、基于组件的路由配置路由参数、查询、通配符基于 Vue.js 过渡系统的视图过渡效果细粒度的导航控制带有自动激活的 CSS class 的…