题意,从一个1~n中找到两个连续的k个元素使得a+1+a+2....+a+k+b+1+b+2....b+k最大

从后面数2*k个元素开始,枚举a,b,注意a+k<=b

所以O(N)的时间就可以了。

代码如下:

#include <cstdio>
#define M 200005
int st[M];
long long sum[M], max, maxab;
int main ()
{int n, k, a, b;scanf("%d %d",&n,&k);for(int i = 1; i <= n; i++)scanf("%d",&st[i]);for(int i = 1; i <= k; i++)sum[1] += st[i];for(int i = k+1; i <= n; i++) sum[i-k+1] = sum[i-k]+st[i]-st[i-k];max = maxab = 0;int preb;for(int i = n-2*k+1; i >= 1; i--){if(max <= sum[i+k]) { max = sum[i+k]; b = i+k;}if(maxab <= max+sum[i]) {maxab = max+sum[i]; a = i; preb = b;}}printf("%d %d\n",a,preb);return 0;
}

cf_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. Maximum Absurdity(dp思想+前缀和)

    Maximum Absurdity 原题目:Maximum Absurdity 题解 处理长度为 k 的区间和用前缀和 处理不相交的两个区间和用 dp 思想,以 i 为界线,用四个数组分别记录位置 i ...

  4. Maximum Absurdity

    题目描述 Reforms continue entering Berland. For example, during yesterday sitting the Berland Parliament ...

  5. codeforces332B - Maximum Absurdity 线段数 or dp

    题意:给你一个序列,找两个长度为 k 且没有重合区间的数使得其和最大 解题思路: 1)线段树 想了半天想不出只能先用线段树撸了一发,这题dp 第一名只要了 9分钟. 就是把起点为 i  长度为 k 的 ...

  6. CodeForces - 332B  Maximum Absurdity   前缀和

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

  7. CodeForces 332B Maximum Absurdity

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

  8. Codeforces 332B Maximum Absurdity(暴力)

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

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

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

最新文章

  1. 一篇文章搞懂Filebeat
  2. Android实训日志:基于外部存储的音乐播放器V05
  3. 必做作业2:目前比较火的直播软件调研
  4. 基于PYNQ-Z2重建BNN工程
  5. MySQL行锁 表锁理解
  6. android知识图谱
  7. centos7切换root为mysql,CentOS 7中使用rpm方式安装MySQL 5.7后无法使用root登录解决
  8. 10种软件滤波方法的示例程序
  9. python写 两只老虎.wav 音频文件
  10. 关于idea中提交svn时一直显示performing VCS refresh
  11. 强连通分量分解详解 超级详细
  12. 英语如此简单(转贴)
  13. TCPIP之IP协议及IP地址详解
  14. php开启端口复用,WebServer端口复用后门
  15. Java中的四种XML解析方式(一)
  16. EeePC各项硬件参数
  17. ZIP已知明文攻击深入利用
  18. 生成流水号如 LS0000001
  19. web前端期末大作业 HTML+CSS+JavaScript web课程设计网页规划与设计 企业网站制作
  20. 2010年企业级信息技术的九大应用

热门文章

  1. L1-020 帅到没朋友(两种方法)
  2. FL Studio乐理教程之调式音阶
  3. Xftp 7(FTP/SFTP客户端) V7.0.0107 官方中文免费正式版(附文件+安装教程)
  4. android新闻客户端的实现
  5. 超体素分割——分割块点云单独保存及遗漏点的处理
  6. Python概述:C++程序员眼中的Python
  7. 什么是Java的反射机制
  8. [官方Flink入门笔记 ] 五、客户端操作
  9. 托福经验分享:20天从93分考到105分
  10. jQuery - end方法的用法