首页 > 其他分享 >洛谷 P3353 在你窗外闪耀的星星

洛谷 P3353 在你窗外闪耀的星星

时间:2024-04-22 09:24:18浏览次数:22  
标签:fenwicktree 洛谷 P3353 int vector maxn 窗口 闪耀

题意:给定一个宽度w,n个数,每个数有一个权值。窗口可以变换位置,求该窗口能容纳的最大权值。

思路:前缀和+滑动窗口硬算。

总结:一开始感觉是fenwicktree,但是每次查询的区间固定,不需要fenwicktree,不如滑动窗口来的方便。

void solve(){
    int n, w;
    cin >> n >> w;

    vector<int> a(n);
    vector<int> b(n);
    int maxn = 0;
    for (int i = 0; i < n; ++i){
        cin >> a[i] >> b[i];
        maxn = max(maxn, a[i]);
    }

    vector<long long> pref(maxn + 1);
    for (int i = 0; i < n; ++i){
        pref[a[i]] += b[i];
    }
    for (int i = 1; i <= maxn; ++i){
        pref[i] += pref[i - 1];
    }

    long long ans = 0;
    for (int i = w; i <= maxn; ++i){
        ans = max(ans, pref[i] - pref[i - w]);
    }

    cout << ans << endl;
}

标签:fenwicktree,洛谷,P3353,int,vector,maxn,窗口,闪耀
From: https://www.cnblogs.com/yxcblogs/p/18149981

相关文章

  • 洛谷八皇后问题
    洛谷八皇后问题原题链接https://www.luogu.com.cn/problem/P1219简单dfs思路,g[n]存储的是可以作为选择的列下标输出的时候记着加一(从0开始)#include<iostream>#include<cstring>usingnamespacestd;constintN=15;intn;intnum;boollie[N],duijiao[2*N......
  • 洛谷 P4451 [国家集训队] 整数的lqp拆分
    洛谷传送门设\(G\)为斐波那契数列的生成函数,显然有\(F=F\timesG+1\)。那么\(F=\frac{1}{1-G}=1+\frac{x}{1-2x-x^2}\)。问题是如何展开\(\frac{x}{1-2x-x^2}\)。因为\(\frac{1}{1-ax}=\sum\limits_{i\ge0}(ax)^i\),所以考虑设\(\frac{x}{1-......
  • [题解] [洛谷 P1174] 打砖块
    [洛谷P1174]打砖块题目描述有\(n\)行\(m\)列的砖块和\(k\)发子弹,每个砖块都有一个得分,每次可以用一发子弹打碎某一列最下面的砖块并得到相应的得分。有的砖块在打碎后可以获得一发额外子弹的奖励。求该游戏的最大得分。输入格式第一行有\(3\)个正整数,\(n,m,k\)。......
  • [题解] [洛谷 P1174] 打砖块
    [洛谷P1174]打砖块题目描述有\(n\)行\(m\)列的砖块和\(k\)发子弹,每个砖块都有一个得分,每次可以用一发子弹打碎某一列最下面的砖块并得到相应的得分。有的砖块在打碎后可以获得一发额外子弹的奖励。求该游戏的最大得分。输入格式第一行有\(3\)个正整数,\(n,m,k\)。......
  • 洛谷 P1204 [USACO1.2] 挤牛奶Milking Cows
    题意:给定n个区间,左端点和右端点表示工作开始时间和结束时间。求最长一直有人在工作的时间和无人工作的时间。思路:想到了并查集,还有差分树状数组,最后选择差分数组。左端点加,右端点减,然后一次遍历即可。总结:习惯性的在右端点+1的位置减少了1,但是不适用于这个题目的逻辑。因为在右......
  • [题解][洛谷P1412] 经营与开发
    题目描述给定n,k,c,w,然后输入n组数据,数据分为两种:1ai:可以选择获得aiw的价值,但w会变成w(1-0.01*k)2bi:可以选择损失biw的价值,但w会变成w(1+0.01*c)求可获得的最大价值是多少。题解看到这个题,我的第一思路是求后缀和,然后让新得到的系数乘后缀和判断是否进行操作。但问题在于,对于......
  • 【LGR-182-Div.4】洛谷入门赛 #22
    题源:【LGR-182-Div.4】洛谷入门赛#22目录A疯狂大减价BZngivaeL的中考C游乐场D吃苹果E天上的气球F神秘排列G道法考试H非众数A疯狂大减价分析:两张票的先后顺序枚举一下,求出最小值。#include<bits/stdc++.h>usingnamespacestd;constintN=1e3+10;intn,k,ans......
  • 洛谷题单指南-动态规划1-P1077 [NOIP2012 普及组] 摆花
    原题链接:https://www.luogu.com.cn/problem/P1077题意解读:n种花选m个的选法,每种花数量为ai。解题思路:设dp[i][j]表示前i种花选j个的选法对于第i种花,可以选0,1,2...min(ai,j)个则有递推式:dp[i][j]=∑dp[i-1][j-k],k取0,1,2...min(ai,j)初始化dp[0][0]=1100分代码:#incl......
  • 洛谷 p3372 线段树
    更改了线段树实现的方式,将lazy值作为单独的节点存在,降低存储压力structNode{longlongsum;Node():sum(0ll){}Nodeoperator+(constNode&other){Noderes=*this;res.sum+=other.sum;returnres;};voidapplyLazy(......
  • 洛谷题单指南-动态规划1-P1049 [NOIP2001 普及组] 装箱问题
    原题链接:https://www.luogu.com.cn/problem/P1049题意解读:装尽可能多的物品,使得总体积越大越好,即剩余空间最小,还是一个01背包问题,物品的体积就是其价值。解题思路:01背包模版题,物品体积、价值相同,直接采用一维dp。100分代码:#include<bits/stdc++.h>usingnamespacestd;co......