题解 洛谷 P2048 【[NOI2010]超级钢琴】 题意简述: 1.给你一个序列nn,求出每一个长度为 l~r 的子序列数值的和。 2.取出前kk大个,累及总和。 --- Solution: 容易想到,求静态子序列之和,可以使用前缀和,区间 l~r 和即为pre[r]−pre[l−1]pre[r]−pre[l−1]。 于是可以暴力求出每个的和...
洛谷P2048 [NOI2010]超级钢琴 题解 近期发现这篇题解有点烂,更新一下,删繁就简,详细重点。代码多加了注释。就酱紫啦! 正解步骤 我们需要先算美妙度的前缀和,并初始化RMQ。 循环\(i\)从\(1\)到\(n\),因为以i为起点的和弦终点必定是\(i + L - 1\)到\(i + R - 1\)之间,所以只要在区间内用...
洛谷P2048 主席树+区间修改 https://www.luogu.org/problemnew/show/P2048 解题思路: 建立主席树对于第i颗线段树来说,区间(l,r)表示左端点是l-r的点,右端点是i的区间情况,对此第i颗线段树由i-1颗转移过来时只需要对当前线段树进行(1,i)区间都加上a[i]的值,那么这个操作就可以做区间更新,之后就是维护线...
[POI2010][BZOI2086][洛谷P3503] Blocks2024-02-224.[SCOI2011][洛谷P3275] 糖果2024-03-19 5.[NOI2010][洛谷P2048] 超级钢琴2024-03-206.[HAOI2007][洛谷P2218] 覆盖问题2024-03-207.[AHOI2005][洛谷 P2054] SHUFFLE 洗牌2024-03-29 收起 ...
洛谷P2048 [NOI2010]超级钢琴(优先队列,RMQ) 传送门 我们定义(p,l,r)=max{sum[t]−sum[p−1],p+l−1≤t≤p+r−1}(p,l,r)=max{sum[t]−sum[p−1],p+l−1≤t≤p+r−1} 那么因为对每一个pp来说sum[p−1]sum[p−1]是一个定值,所以我们只要在[p+l−1,p+r−1...
P2048 洛谷 统计和 题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=10000)个问题,求每段区间的和。时间限制1秒。 输入输出格式 输入格式: 第一行1个数,表示序列的长度n...
洛谷P2048 [NOI2010]超级钢琴 解题报告 P2048 [NOI2010]超级钢琴 题目描述 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。 这架超级钢琴可以弹奏出n个音符,编号为1至n。第i个音符的美妙度为Ai,其中Ai可正可负。
题目链接 https://www.luogu.org/problem/P2048 题意 给出n个音符的美妙度,“超级和旋”由若干个编号连续的音符组成,包含的音符个数不少于L其不多于R,我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和,求由k个超级和旋组成的乐曲的美妙度之和最大值是多少 ...
Sequence(ST表)(洛谷P2048) 超级钢琴 知识储备 在做这道题前,我们先要了解一下ST表(一种离线求区间最值的方法) ST表使用DP实现的,其查询复杂度为O(1). 那么我们怎么用DP实现呢?? 首先,我们设立一个状态f[i][j],其中i代表起点(包括在内),而j则代表是2的几次方,那么这个状态的含义就是以i为起点,求...
用一个优先队列维护一下,然后问题就只剩区间k大了。可以用静态主席树搞一下。 但是你会发现T到飞起...常数太大了2333333 本来动态开点偷懒都不行了 1#pragmaGCC optimize("Ofast")2#pragmaGCC optimize("inline","fast-math","unroll-loops","no-stack-protector")3#pragmaGCC diagnostic error "-fwhole-...