Max Sum Plus Plus HDU - 1024

[动态规划]HDU - 1024 Max Sum Plus Plus题解 位也可以从这一位开始从后面若干位单独成为一个字段,也可以不选这一位。位,如果前一位是被选中的字段,那么这一位可以加进这一个字段。求关于长度为n的数组的m个子段和的最大值。最终结果可能会小于0,注意初始化。的范围,注意要用滚动数组。 阅读详情
Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more difficult problem. 

Given a consecutive number sequence S 1, S 2, S 3, S 4 ... S x, ... S n (1 ≤ x ≤ n ≤ 1,000,000, -32768 ≤ S x ≤ 32767). We define a function sum(i, j) = S i + ... + S j (1 ≤ i ≤ j ≤ n). 

Now given an integer m (m > 0), your task is to find m pairs of i and j which make sum(i 1, j 1) + sum(i 2, j 2) + sum(i 3, j 3) + ... + sum(i m, j m) maximal (i x ≤ iy ≤ j x or i x ≤ j y ≤ j x is not allowed). 

But I`m lazy, I don't want to write a special-judge module, so you don't have to output m pairs of i and j, just output the maximal summation of sum(i x, j x)(1 ≤ x ≤ m) instead. ^_^ 
Input
Each test case will begin with two integers m and n, followed by n integers S 1, S2, S 3 ... S n. 
Process to the end of file. 
Output
Output the maximal summation described above in one line. 
Sample Input
1 3 1 2 3
2 6 -1 4 -2 3 -2 3
Sample Output
6
8


        
  
Hint
Huge input, scanf and dynamic programming is recommended.

又到了被动态规划虐脑的时候了。。
崩溃T^T

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int INF=0x3f3f3f3f;
int a[1123456];
int dp[1123456];
int mm[1123456];
int main()
{
    int n,m;
    while(~scanf("%d%d",&m,&n))
    {
        int i,j;
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            mm[i]=0;
            dp[i]=0;
        }
        dp[0]=0;
        mm[0]=0;
        int ma;
        for(i=1;i<=m;i++)
        {
            ma=-INF;
            for(j=i;j<=n;j++)
            {
                dp[j]=max(dp[j-1]+a[j],mm[j-1]+a[j]);//dp[j-1]表示的是以j-1结尾i个子段的和..mm[j-1]表示前j-1个元素i-1个子段的和
                mm[j-1]=ma;//保证a[i]是一个独立的子段
                ma=max(ma,dp[j]);
            }
        }
        printf("%d\n",ma);
    }
    return 0;
}


数据仓库数据质量监控和处理方法最佳实践 指的是检查数据是否存在反常或者错误的情况,例如数值反常地过大或者过小,或者超过记录的波动值,对应的规则包括数值波动检查,最大值、最小值检查,跨表准确性等。指的是检查数据是否存在缺失的情况,这里的缺失可以是整个数据集的记录缺失,也可以是某个字段记录的缺失,对应的规则包括空值检查,表总行数检查。指的是检查数据是否符合规范,是否按照规定的格式存储,对应的规则包括正则表达式检查,字段长度检查,枚举集合检查,数值范围等。指的是检查哪些数据是重复数据或者数据的哪些属性是重复的,对应的规则例如主键唯一性检查。 阅读详情

相关推荐

COMSOL模拟CO2驱替CH4:多物理场耦合建模与工程应用详解

在非常规天然气开发与碳封存工程中,多孔介质内的渗流、吸附与岩石变形相互耦合,使得CO2驱替CH4的产能预测和CO2封存评估无法仅靠经验公式完成。以达西定律描述裂隙流动、以扩展Langmuir方程刻画竞争吸附、用应力-吸附-渗透率关系关联煤岩变形,是多物理场耦合数值模拟的核心路径。COMSOL Multiphysics凭借内置渗流、固体力学与组分传递接口,能够将这些机制整合为可参数化扫描的仿真模型,为注气压力、井距、渗透率演化等方案设计提供量化依据。围绕CO2驱替CH4模拟的建模流程、参数取法与结果判读,可形

weixin_29574585的博客 162

hdu_1024 Max Sum Plus Plus

题目链接:hdu_1024 Max Sum Plus Plus 题目分析: 将一组数据分成m段连续的子序列和,求这最大的分法 不考虑优化,分析题目: 状态表示:f[i][j]表示第i组共j个数的和 状态转移:f[i][j] = max(f[i][j],f[i][j] + a[i],f[i - 1][k] + a[i]); (1 <= k < i) 分别表示:不选第i个数,选第i个数,在i-1组中第k个数中断开,然后添加第i组的第一个数为a[j] 因为题目数据过大,空间、时间复杂度都不符合,

chstor's blog 204

基于Unidbg的小红书加密协议动态分析与算法还原实战

在移动应用安全领域,加密协议与签名机制是保障数据传输安全、实现客户端身份验证的核心技术。其原理通常涉及哈希算法、对称/非对称加密以及自定义的混淆逻辑,旨在防止请求被篡改或重放。理解这些协议对于安全研究、风控策略制定及合规的数据交互分析具有重要价值。在实际的工程实践中,面对高度混淆和加固的Native代码(SO库),传统的静态分析往往难以深入。此时,沙盒模拟执行技术提供了一种动态、可控的分析方案。通过搭建一个虚拟的移动应用运行环境,研究人员可以在无需真机、规避反调试机制的情况下,完整地追踪和观察加密算法的执行

weixin_29315091的博客 327

《HDU 1024 - Max Sum Plus Plus》的题解

《HDU 1024 - Max Sum Plus Plus》的题解 题目的描述 Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are fac...

weixin_46163391的博客 466

免费替代Cursor!TRAE中文版这些隐藏功能90%的人不知道

本文深度评测了免费AI编程工具TRAE中文版,揭示其超越代码补全的隐藏功能。重点介绍了其SOLO模式如何重塑从需求到部署的全流程开发,以及对微信小程序、Taro、Ant Design Pro等国产技术栈的深度适配能力,为中文开发者提供了高度本地化的高效解决方案。

gray5的博客 840

Qt 5.15.2静态编译避坑实录:MinGW 32位版从源码到Creator配置的全流程踩坑总结

本文详细介绍了Qt 5.15.2 MinGW 32位版本的静态编译全流程,包括环境准备、配置参数优化、编译过程监控及安装后配置。重点解决了静态编译中的常见问题,如参数顺序敏感、路径引号问题等,并提供了性能对比实测数据,帮助开发者高效完成静态编译。

weixin_26749245的博客 271

Max Sum Plus Plus HDU - 1024 (dp)

A - Max Sum Plus Plus HDU - 1024 Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with...

Suprit's blog 2454

Backtrader Web:开源量化交易全栈平台

Backtrader Web是一个基于Backtrader框架的现代化量化交易全栈平台,将专业回测引擎与Web技术结合,提供从策略开发到实盘交易的完整解决方案。平台采用FastAPI+Vue3技术栈,具有118个内置策略模板、专业可视化分析工具和完整的策略生命周期管理功能。支持策略版本控制、参数优化、模拟/实盘交易及监控告警,通过RESTful API和WebSocket实现前后端交互。系统采用模块化设计,包含策略服务、回测服务等核心模块,支持SQLite/PostgreSQL等多种数据库。安装简单,5分钟

云金杞 643

hdu 1024 Max Sum Plus Plus

hdu 1024 Max Sum Plus Plus 我是传送门 Problem Description Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. No...

WWL0702的博客 296

1、网站可靠性工程(SRE):原理、实践与转型指南

本文深入探讨了网站可靠性工程(SRE)的核心原理、实践方法以及组织转型策略。从SRE的基本概念如服务水平指标(SLI)、服务水平目标(SLO)和错误预算入手,详细解析了如何通过SRE实现产品开发、运营和管理团队的高效协作。此外,还涵盖了SRE的实施步骤,包括现状评估、组织认同、基础设施建设、事件响应、错误预算政策制定以及组织结构设计等内容。最后,文章展望了SRE的未来发展,强调了服务目录、合规监管及SRE文化建设的重要性,为企业的现代化运营体系转型提供了全面指南。

xk7n92h3p5m的博客 145

保姆级教程!Python爬虫爬取知乎回答,保存为Markdown文件

本教程实现了知乎公开回答的完整爬取与Markdown保存,核心流程为「请求页面→解析作者/时间/正文/图片→下载图片→保存MD文件」,步骤清晰,代码可直接复用关键特性:支持合并/单文件两种保存模式、自动下载图片并引用、中文乱码防护、非法文件名过滤,满足日常整理知乎回答的需求新手友好:无需复杂配置,仅需修改知乎问题URL即可运行,全程无坑,5分钟内可看到运行结果灵活扩展:支持进阶优化(登录、分页、格式完善),可根据个人需求调整功能。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1232

Max Sum Plus Plus HDU-1024

Max Sum Plus Plus HDU-1024 题意:给你n个数,让你找m组个连续序列,使m个连续序列最大(要求也是序列不重叠),输出m组序列和的最大值。 这题的状态转移方程 dp[i][j]=max(dp[i][j-1]+a[j],Max(dp[i][k]+a[j])); 思路:刚接触DP还不是很会,然后看了别人的解题思路,想了好一会他的过程。 首先把看成求一段序列的最大连续子...

DeathYmz的博客 639

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

HDU 1024 Max Sum Plus Plus(经典DP)

HDU 1024 Max Sum Plus Plus(经典DP)

Anonymous_jacklovecj的博客 577

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HDU 1024 Max Sum Plus Plus

题目 HDU1024 题解 设 f[i][j]f[i][j]f[i][j] 为在选取第 jjj 个数字的情况下,将前 jjj 个数字分成 iii 组的最大收益。则转移方程式为: f[i][j]=max(f[i][j−1],f[i−1][k])+s[j]k∈{i−1,⋯&ThinSpace;,j−1} f[i][j] = max(f[i][j-1], f[i-1][k]) + s[j] \q...

solvit的博客 161

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Max Sum Plus Plus 【HDU 1024】

题目连接 HDU 1024 大概题意 有n个数字组成的一个数组,让你从中找出m个不相交子序列(要求连续),使这m个子序列的和最大。 解题思路 虽然题目中没有给m的范围,但是m是一定要小于n的(n<1000000) 我们先想一个比较朴素的算法: dp[i][j]:意思是将前j个数字分为i段得到的最大和,一定要取第j个数 那么状态转移方程就是:dp[i][j]=max(dp[i][j-1]+a...

qq_41925919的博客 156

hdu1024 Max Sum Plus Plus的另一种解法

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1024 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1053 【题解】 原来的解法:http://www.cnblogs.com/galaxies/p/hdu1024.html 原来的解法思路是正着,我们加数...

aklm45097的博客 187

HDU1024 Max Sum Plus Plus【最大子段和+DP】

Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 48242 Accepted Submission(s): 17584 Problem Description Now I think you ha...

海岛Blog 786

HDU - 1024 Max Sum Plus Plus

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 代码如下: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 1000000 + 5; const int inf = 0x...

TK_wang_的博客 256

HDU1024-Max Sum Plus Plus

Max Sum Plus PlusTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 31033 Accepted Submission(s): 10942Problem Description Now I think you hav

algzjh的博客 710

HDU1024 Max Sum Plus Plus

HDU1024 Max Sum Plus Plus 题意 给n个数,求取出m段(连续),最大和为多少 分析 错解:一开始考虑进去连续取这个条件,写了错的转移 定义:dp[i][j]:前 j 个数取出 i 段的最大和 决策:第 j个数是和 j-1 一组,还是单独成组 转移:dp[i][j] = max( dp[i][j-1] + a[j],dp[i-1][k] + a...

auiayo82822的博客 96
上一篇: POJ-3159 Candies
下一篇: 基础DP学习之【数的划分】
哈哈哈哈666
博客等级 码龄10年 0粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值