首页 > 其他分享 >题解:CF1906F Maximize The Value

题解:CF1906F Maximize The Value

时间:2024-09-19 22:12:58浏览次数:10  
标签:题解 位置 Value 修改 序列 CF1906F 操作 维护

可以在 cnblog 中阅读。

见这种题比较少,写篇题解加深印象。

如果直接上数据结构维护数组,似乎没有好的办法处理操作序列的一个子段。那不妨转变思路,对操作序列上数据结构维护。

假设顺序进行每个修改操作,我们用时间表示修改操作的编号,位置表示数组的下标,则常见的维护序列的数据结构实际是对位置维度维护,这里我们对时间维度维护。

我们把询问挂在其对应位置 \(k\) 上,位置指针一遍从 \(1\) 扫到 \(n\),在扫描到位置 \(i\) 的时候,为获取当前位置的询问答案,我们需要位置 \(i\) 在不同时间发生的变化量。

这么说可能有些抽象,具体来说就是要支持一个序列 \(T\),\(T_j\) 记录第 \(j\) 个修改操作的生效情况,生效为 \(x\),失效为 \(0\)。\(T\) 也可以看做时间轴。

可以把修改操作在位置维度上离线下来,用差分技巧拆成两次单点修改,实际意义对应:位置指针在左端点时修改操作生效,在右端点之后失效。

根据前面的思路,我们按位置编号递增处理询问,询问 \((k,s,t)\) 的答案就是位置指针在 \(k\) 时,时间轴 \(T\) 上 \([s,t]\) 区间内的最大子段和。

回头看需要,我们要维护一个序列,支持单点加,询问区间最大子段和,这是经典线段树问题,只需在线段树上维护最大前缀和、最大后缀和、区间答案、区间和即可。参考 P4513。

code

标签:题解,位置,Value,修改,序列,CF1906F,操作,维护
From: https://www.cnblogs.com/tai-chi/p/18421485

相关文章

  • 蓝桥杯十五届软件赛C++B组题解
    最近蓝桥杯官网已经把十五届题目上架了,我会尽快的将题解发出来,没有发的过段时间再补。​​​​​​​数字接龙一个很鹅心的搜索题,一不注意就会写错,比赛的时候写不来,题目上架后也WA了两个样例才过。题目大意:也就是说从(1,1)开始 ,下一步路的数据总是要比当前数据大1,超过k就......
  • P2051 [AHOI2009] 中国象棋 题解
    DP好题?首先确定,每一行/列只能放至多两个棋子,这么少,所以我们的状态肯定和棋子数有关。由于我们不关注具体的方案数,所以我们不妨只关心对应棋子数量的行/列的数量。同时,由于考虑行和列都是一样的,所以我们不妨用行递推。所以我们设$\dp_{i,j,k}\$表示当前放到第\(i\)行,有\(......
  • Capital许可使用常见问题解答
    在使用Capital软件的过程中,许多用户可能会遇到关于许可使用的各种问题。为了帮助大家更好地理解和合规使用Capital软件,我们整理了一份常见问题解答,希望能为您提供有价值的参考。一、Capital许可证的类型有哪些?Capital提供多种许可证类型,包括永久许可证、订阅许可证等。永久许可......
  • 【题解】Solution Set - NOIP2024集训Day32 数位 dp
    【题解】SolutionSet-NOIP2024集训Day32数位dphttps://www.becoder.com.cn/contest/5537order:1,3,5,6,2,4「SDOI2013」淘金就是要算前\(k\)大的和。考虑一个位置\((i,j)\)在变化完了之后的金子个数。(也即逆变换。设:\(f^\prime(x)\)表示在\(1\simN\)范围内,数位......
  • 【洛谷 P5730】【深基5.例10】显示屏 题解(数组+循环)
    【深基5.例10】显示屏题目描述液晶屏上,每个阿拉伯数字都是可以显示成的点阵的(其中X表示亮点,.表示暗点)。现在给出数字位数(不超过)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。输入格式第一行输入一个正整数,表示数......
  • luogu-P10596题解
    简要题意一个有\(N\)个元素的集合有\(2N\)个不同子集(包含空集),现在要在这\(2N\)个集合中取出若干集合(至少一个),使得它们的交集的元素个数为\(K\),求取法的方案数,答案模\(10^9+7\)。数据范围:\(1\leK\leN\le10^6\)。题解我们设\(f(i)\)表示选出子集大小恰好为\(i\)的......
  • 易优eyoucms网站php5.4版本,报错:Can't use method return value in write context
    当你在使用PHP5.4版本时遇到“Can'tusemethodreturnvalueinwritecontext”的错误,这通常是因为你在代码中错误地使用了方法返回值。这种错误通常发生在试图将方法返回值直接赋值给变量或用于其他上下文时。解决方案以下是一些常见的原因和解决方法:1.检查代码中的赋......
  • [1064] Change values in a DataFrame based on different values
    TochangevaluesinaDataFramebasedondifferentvalues,youcanuseseveralmethodsinPandas.Hereareafewcommonapproaches:UsinglocforConditionalReplacementYoucanusethelocmethodtoreplacevaluesbasedonacondition:importpandasasp......
  • 【洛谷】P11062 【MX-X4-T2】「Jason-1」加法 的题解
    【洛谷】P11062【MX-X4-T2】「Jason-1」加法的题解题目传送门离CSP初赛只剩两天了,祝各位OIersrp++!!!题解挺有意思的一道思维题,不过比赛的时候没想出来。需要分类讨论两种情况:当a......
  • ICPC2021 沈阳站 M String Problem 题解 | 十种做法一网打尽 , 一道题带你回顾字符串科
    题目传送门题意给定一个字符串,求每个前缀的字典最大序子串。注意到:对于每个前缀$s_{[1,i]}$,字典序最大子串的右边界一定是\(i\)。随着着\(i\)的增大,字典序最大子串的左边界一定是单调不减的。解法不分先后。后缀数组SASA&SAM后缀数组&后缀自动机SA对所有......