题目链接
题意
给定一个含有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相关推荐

  1. 【CodeForces 332B --- Maximum Absurdity】递推

    [CodeForces 332B --- Maximum Absurdity]递推 题目来源:点击进入[CodeForces 332B - Maximum Absurdity] Description ...

  2. [CodeForces 332B]Maximum Absurdity[DP]

    题目链接: [CodeForces 332B]Maximum Absurdity[DP] 题意分析: 寻找两个不重叠的长度为k的子串,使得它们之和最大. 解题思路: 第一想法是,处理出从这个点开始,长 ...

  3. CodeForces - 332B  Maximum Absurdity   前缀和

    这道题主要用的前缀和的思想,看了网上大佬的代码感觉很巧妙.我之前有好几个点没注意,WA了好几次,还有就是要用long long类型.不多说了,直接贴AC代码: #include<cstdio&g ...

  4. CodeForces 332B Maximum Absurdity

    http://codeforces.com/problemset/problem/332/B 给出n个数,再个一个长度,问在n个数的数列中,找到2个相应长度的数串求和最大,且这两个数串不能重叠.只要对 ...

  5. Codeforces 332B Maximum Absurdity(暴力)

    题意: 给你一个序列,让你在里面选择两个不想交的长度为k的字段,是的和最大. 我第一次做还是用的dp,感觉复杂度有点高啊,后来发现直接预处理就好了. 预处理需要三个数组,分别是sum[i],Max[i ...

  6. CodeForces 332B Maximum Absurdity(线段树单点更新)

    题意: 给你一个序列,找两个长度为 k 且没有重合区间的数使得其和最大 解析: 线段树,就是把起点为 i 长度为 k 的和预处理出来,再枚举a,与a线段不重合的,后面的部分用线段树来找最大位置,总复杂 ...

  7. codeforce 332B Maximum Absurdity

    原题链接 题意 一个长为N的序列,选择其中2个长为K的不相交区间,使两个区间和最大 题解 CF标签上写的好好的DP,做着做着发现就是前缀和思想嘛,哪里有DP?哪里有DP? #include<bi ...

  8. Codeforces 332B Maximum Absurdity(DP+前缀和处理)

    题目链接:http://codeforces.com/problemset/problem/332/B 题目大意: 给你n个数和一个整数k,要求找到不相交的两个长度为k的区间,使得区间和最大,输出这两 ...

  9. codeforces 332b Maximum Absurdity dp

    题意: 有n个数,找两个段(每个段长度为k)不相交,求出这两个段的和的最大值. 输出两个段的起始下标. 思路: dp[i][j]:走到i,已经选了j个段的最大值. 转移:dp[i][j] = dp[i ...

最新文章

  1. ThreadPoolExecutor(上篇)
  2. php ssh2函数,SSH2 函数 - PHP 7 中文文档
  3. ROS学习笔记-ROS语音识别与语音输出[1]
  4. python语言编写一个生成九宫格图片的代码_python实现图片九宫格分割
  5. C语言 #运算符 - C语言零基础入门教程
  6. 机器学习之Adaboost (自适应增强)算法
  7. 【Spark】Spark ListenerBus 和 MetricsSystem 体系分析
  8. linux 解压安卓内核,解压内核镜像
  9. 数据结构 判断数组元素是否互不相同
  10. [读码时间] css函数设置读取对象的属性
  11. boost asio异步通信
  12. 一道装呀(状压)DP
  13. 集体智慧编程 简介
  14. 打开应用商店显示服务器出错了,Win10应用商店提示“我们这边出错了”的三种解决方法...
  15. BlenderGIS插件 城市建筑3D模型自动生成 教程
  16. matlab中函数功能汇总(一)——rectangle、bwlabel、regionprops
  17. 简说window操作系统
  18. 利用不蒜子统计网站的访问量
  19. android 状态栏(StatusBar)
  20. 关于窗口中TopMost属性的一个问题

热门文章

  1. samba服务器的功能
  2. 简单的proxy之TinyHTTPProxy.py
  3. PS学习笔记(05)
  4. layui 卡片式列表_当卡片式UI不再流行,列表式UI将是王牌
  5. 数据结构实践(有的数据结构课后习题答案),红色是答案
  6. 2017——新的开始,加油!
  7. 小米note刷android8.1,小米note安卓8.1.0刷机包
  8. 离散化:两种离散化方式详解
  9. Arduino、BeagleBoneBlack、树莓派、Debian Linux 学习手记
  10. 《深入浅出WPF》——XAML语法及基础知识