宁波多校 E题 ddd的逛街计划(Easy Version)

Posted ctyakwf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宁波多校 E题 ddd的逛街计划(Easy Version)相关的知识,希望对你有一定的参考价值。

思维题,题目限制了在一个长度为k的滑动窗口内必须要有l个数

因此所有%k相等的位置的状态是固定的,否则两个k中的个数就不相等

因此只需要把%k个相加,之后在k个中选最大的l个就行

技术图片
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
typedef long long ll;
int a[N];
int b[N];
int main(){
    int i;
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        int i;
        memset(b,0,sizeof b);
        for(i=0;i<n;i++){
            cin>>a[i];
        }
        int k,l,r;
        cin>>k>>l>>r;
        for(i=0;i<n;i++){
            b[i%k]+=a[i];
        }
        sort(b,b+k);
        reverse(b,b+k);
        int res=0;
        for(i=0;i<l;i++){
            res+=b[i];
        }
        cout<<res<<endl;
    }
}
View Code

 

以上是关于宁波多校 E题 ddd的逛街计划(Easy Version)的主要内容,如果未能解决你的问题,请参考以下文章

宁波多校 B题 七彩魔法树(线段树)

宁波多校 B题 狂赌之渊(dfs+概率)

宁波多校 D题 COLORS的字符串挑战(线段树+hash+二分)

刷题总结——学姐的逛街计划(vijos1891费用流)

2020牛客暑假多校第一场 J题 Easy Integration

宁波多校 C石头划分(二分)