您当前的位置: 首页 > 

*DDL_GzmBlog

暂无认证

  • 1浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[Acwing] 前缀和维护 夏日每日一题

*DDL_GzmBlog 发布时间:2021-05-13 18:21:30 ,浏览量:1

https://www.acwing.com/problem/content/3496/

题目大意:

给你一组长度为n的数组和k 同时给你 每个数的标记(0和1 | 表示能否可选) 你可以选一个长度恰为k的区间 让里面的不可选数全部变成可选 问你修改之后 可选元素之和的最大值是多少

思路:

首先 答案为 已经可选的+后继修改的 所以我们已经可选的是固定的 我们需要找后继修改的 因此我们可以通过前缀和来处理需要修改的数组 然后枚举区间即可

code: (记得开LONG LONG)

#include 
using namespace std;
typedef long long LL;

const int N  = 1e5+10;
int a[N],st[N];
LL sum[N];
int n,k;
int main()
{
    scanf("%d%d",&n,&k);
    LL ans  = 0 ;

    for(int i = 1; i            
关注
打赏
1657615554
查看更多评论
0.0366s