牛客网contest#91 L K序列 前缀和

标签: 牛客网
0人阅读 评论(0) 收藏 举报
分类:

题解:

1、维护前缀和,然后存入map<long long , set>查询相等值的最大区间

2、虽然出题人说了序列可以不连续,但是我写的连续A了。。。

#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL a[100005];
LL sum[100005];
map<LL,set<LL> >m;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    LL n,k;
    cin >> n >> k;
    for(LL i = 1;i <= n;i++){
        cin >> a[i];
        sum[i] = sum[i - 1] + a[i];
        sum[i] %= k;
        m[sum[i]].insert(i);
    }
    m[0].insert(0);
    LL ans = 0;
    for(auto it = m.begin();it != m.end();it++){
        if(it->second.size() > 1){
            LL tmp = *(it->second.rbegin()) - *(it->second.begin());
            ans = max(tmp,ans);
        }
    }
    cout << ans << endl;
    return 0;
}


查看评论

激励故事[n篇]

激励故事[n篇](1)鸡与大蟒蛇   在一个动物园,饲养员每天都要喂一大盆肉给大蟒蛇吃。  这一天,饲养员突然想看看给大蟒蛇吃鸡会是什么样子。于是他就关了一只鸡到大蟒蛇的笼子里。  这只鸡突然遭遇这飞...
  • citymeteor
  • citymeteor
  • 2002-11-10 10:54:00
  • 915

十六届金马五校赛 L:DP求最长K倍序列

链接:https://www.nowcoder.com/acm/contest/91/L来源:牛客网给一个数组 a,长度为 n,若某个子序列中的和为 K 的倍数,那么这个序列被称为“K 序列”。现在要...
  • qq_36876305
  • qq_36876305
  • 2018-04-16 21:06:29
  • 18

L-K序列

链接:https://www.nowcoder.com/acm/contest/91/L来源:牛客网题目描述给一个数组 a,长度为 n,若某个子序列中的和为 K 的倍数,那么这个序列被称为“K 序列”...
  • qq_41037114
  • qq_41037114
  • 2018-04-15 14:41:27
  • 119

前缀和:区间和

区间和 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submis...
  • czkct
  • czkct
  • 2016-03-12 11:29:20
  • 2612

求第k大连续区间和/第k大子序列和 - 二分+树状数组+前缀和(或主席树+堆)

给你n,再给你n个数,最后给一个k 求出这个序列的第k大连续区间和; N(1 ai(1 K(1 思路: 预处理前缀和。并将其离散化(去重)。 二分答案,然后每次判断中,遍历前缀和Bi,然后查找...
  • viphong
  • viphong
  • 2016-03-19 17:32:10
  • 1105

蓝桥杯2014年以前JAVA历年真题及答案整理——区间k大数查询

问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数...
  • yjg211314
  • yjg211314
  • 2014-03-21 23:25:12
  • 867

给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个

(由于是ACM题所以是按起写的,其实我也是新手,如果有什么出错的地方还望理解和提出,我将继续努力) 题目描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入 第一行...
  • qq_36570464
  • qq_36570464
  • 2017-03-04 20:39:53
  • 1174

蓝桥杯-算法训练-ALGO1-区间k大数查询

JAVA-蓝桥杯-算法训练-区间k大数查询 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列...
  • u011035622
  • u011035622
  • 2015-02-07 15:16:19
  • 1120

区间K大数查询

问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 ...
  • u012523688
  • u012523688
  • 2014-03-08 11:39:03
  • 672

Lq_ 区间k大数查询

算法训练 区间k大数查询   时间限制:1.0s   内存限制:256.0MB 锦囊1 锦囊2 锦囊3 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪...
  • briup_acmer
  • briup_acmer
  • 2015-03-24 15:46:47
  • 1086
    个人资料
    持之以恒
    等级:
    访问量: 6733
    积分: 576
    排名: 9万+
    文章分类
    文章存档
    最新评论