332B. Maximum Absurdity
题目链接
题意
给定一个含有n个数字的序列,从中找到两段长度为k的不重叠的连续序列,使得这两段序列之和最大。
思路
先利用前缀和求出每段长度为k的大小用inte数组存储,然后对inte从后往前以长度为2*k开始遍历,第一个if用来更新区间为k的最大值,第二个if用来更新两个k区间的最大值。
代码
#include<iostream>
using namespace std;
#define ll long long
ll x[200005],anti[200005]={0},inte[200005];//x存输入的序列,anti存前缀和,inte为区间长度为k的大小
int main(){ll n,k,i,mx=0,pa=0,pb=0,mxa=0,mxb=0;cin>>n>>k;for(i=1;i<=n;i++){cin>>x[i];anti[i]=anti[i-1]+x[i];}for(i=1;i<=n-k+1;i++){inte[i]=anti[i+k-1]-anti[i-1];}ll preb;//不能少,用来存储当前区间为2k时最大的左端点for(i=n-2*k+1;i>=1;i--){if(mxb<=inte[i+k]){ mxb=inte[i+k];pb=i+k;}if(mxa<=mxb+inte[i]){mxa=mxb+inte[i];pa=i;preb=pb;}}printf("%lld %lld",pa,preb);return 0;
}
332B. Maximum Absurdity相关推荐
- 【CodeForces 332B --- Maximum Absurdity】递推
[CodeForces 332B --- Maximum Absurdity]递推 题目来源:点击进入[CodeForces 332B - Maximum Absurdity] Description ...
- [CodeForces 332B]Maximum Absurdity[DP]
题目链接: [CodeForces 332B]Maximum Absurdity[DP] 题意分析: 寻找两个不重叠的长度为k的子串,使得它们之和最大. 解题思路: 第一想法是,处理出从这个点开始,长 ...
- CodeForces - 332B Maximum Absurdity 前缀和
这道题主要用的前缀和的思想,看了网上大佬的代码感觉很巧妙.我之前有好几个点没注意,WA了好几次,还有就是要用long long类型.不多说了,直接贴AC代码: #include<cstdio&g ...
- CodeForces 332B Maximum Absurdity
http://codeforces.com/problemset/problem/332/B 给出n个数,再个一个长度,问在n个数的数列中,找到2个相应长度的数串求和最大,且这两个数串不能重叠.只要对 ...
- Codeforces 332B Maximum Absurdity(暴力)
题意: 给你一个序列,让你在里面选择两个不想交的长度为k的字段,是的和最大. 我第一次做还是用的dp,感觉复杂度有点高啊,后来发现直接预处理就好了. 预处理需要三个数组,分别是sum[i],Max[i ...
- CodeForces 332B Maximum Absurdity(线段树单点更新)
题意: 给你一个序列,找两个长度为 k 且没有重合区间的数使得其和最大 解析: 线段树,就是把起点为 i 长度为 k 的和预处理出来,再枚举a,与a线段不重合的,后面的部分用线段树来找最大位置,总复杂 ...
- codeforce 332B Maximum Absurdity
原题链接 题意 一个长为N的序列,选择其中2个长为K的不相交区间,使两个区间和最大 题解 CF标签上写的好好的DP,做着做着发现就是前缀和思想嘛,哪里有DP?哪里有DP? #include<bi ...
- Codeforces 332B Maximum Absurdity(DP+前缀和处理)
题目链接:http://codeforces.com/problemset/problem/332/B 题目大意: 给你n个数和一个整数k,要求找到不相交的两个长度为k的区间,使得区间和最大,输出这两 ...
- codeforces 332b Maximum Absurdity dp
题意: 有n个数,找两个段(每个段长度为k)不相交,求出这两个段的和的最大值. 输出两个段的起始下标. 思路: dp[i][j]:走到i,已经选了j个段的最大值. 转移:dp[i][j] = dp[i ...
最新文章
- ThreadPoolExecutor(上篇)
- php ssh2函数,SSH2 函数 - PHP 7 中文文档
- ROS学习笔记-ROS语音识别与语音输出[1]
- python语言编写一个生成九宫格图片的代码_python实现图片九宫格分割
- C语言 #运算符 - C语言零基础入门教程
- 机器学习之Adaboost (自适应增强)算法
- 【Spark】Spark ListenerBus 和 MetricsSystem 体系分析
- linux 解压安卓内核,解压内核镜像
- 数据结构 判断数组元素是否互不相同
- [读码时间] css函数设置读取对象的属性
- boost asio异步通信
- 一道装呀(状压)DP
- 集体智慧编程 简介
- 打开应用商店显示服务器出错了,Win10应用商店提示“我们这边出错了”的三种解决方法...
- BlenderGIS插件 城市建筑3D模型自动生成 教程
- matlab中函数功能汇总(一)——rectangle、bwlabel、regionprops
- 简说window操作系统
- 利用不蒜子统计网站的访问量
- android 状态栏(StatusBar)
- 关于窗口中TopMost属性的一个问题