题解:CF1906F Maximize The Value

news/2024/9/19 22:22:12/文章来源:https://www.cnblogs.com/tai-chi/p/18421485

可以在 cnblog 中阅读。

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

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

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

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

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

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

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

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

code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800121.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day4[大模型全链路开源开放体系学习小结]

书生浦语大模型全链路开源开放体系涵盖数据收集、标注、训练、微调、评测、部署等全链路,学习了解其技术发展、性能提升、模型架构、开源生态等。 书生浦语大模型(英文名IN Turn LLM)多次开源,性能不断提升,达到国际先进水平,在推理能力、上下文记忆、自主规划等方面表现…

深入理解ConcurrentHashMap

HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进行put操作,调用了HashMap的putVal(),具体原因:假设两个线程A、B都在进行put操作,并且hash函数计算出的插入下标是相同的;当线程A执行完第六行由于时间片耗尽导致被挂起,而线程B得到时间片后在该下标处插入了元…

成都仪器定制-二进制补码及与原码的互相转换方法

大沙把一些基础的知识说清楚,本文介绍二进制补码及与原码的转换方法。 先说原码,原码‌是一种计算机中对数字的二进制定点表示方法。在原码表示法中,数值前面增加了一位符号位,最高位为符号位,0表示正数,1表示负数。其余位表示数值的大小。二进制补码‌是一种用于表示有符…

函数进阶应用3

认识OFFSET函数函数格式 参数说明 作用OFFSET(参数1,参数2,参数3,参数4,参数5) 参数1:以谁为标准参数2:下一多少行参数3:右移多少列参数4:取几行参数5:取几列 动态获取数据应用:使用offset函数获取表格最后五行数据,并计算平均值 在空白单元格输入“=offset()”,然…

程序员编写技术文章需要的四个辅助神器 ,强烈建议收藏 !

编写技术文章是程序员分享经验和记录学习成果的重要方式。 为了让写作变得更轻松,有许多实用工具可以帮助提升效率,比如 Markdown 编辑器、画图工具等。 接下来,笔者将介绍四款简单实用的工具,帮助程序员更轻松地编写技术文章。1 Typora :Markdown 编辑器 Typora 是一款简…

【专题】2024年9月游戏行业报告合集汇总PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p=37732 在当今数字化高速发展的时代,游戏行业已然成为了文化与科技融合的前沿阵地。中国游戏行业凭借着不断创新的技术、丰富多元的内容以及日益拓展的市场,正以蓬勃之姿在全球舞台上绽放光彩。阅读原文,获取专题报告合集全文,解锁文末153份…

山东旅游攻略

目录山东概览地形图威海刘公岛 山东概览 地形图威海 刘公岛 最主要看中日甲午战争的遗址 参考视频 https://www.youtube.com/watch?v=55vH8J2s3Ow

基础靶机(CentOS7)自测练习WP

1信息收集 192.168.5.141:8090 open 192.168.5.141:8009 open 192.168.5.141:22 open 192.168.5.141:3306 open 192.168.5.141:6379 open 192.168.5.141:8080 open 192.168.5.141:8899 open 192.168.5.141:9080 open [*] alive ports len is: 8 start vulscan [*] WebTitle htt…

【TSTYFST】我回来了

【置顶】最后的直播,大家能来看 十分感谢…! 大家愿意看到最后的,真的最后十分开心!能和猫雷相遇 愿意喜欢上猫雷 真的十分感谢!十分幸福!那么,再见。我要出发了……!如题。玩傻逼二游玩的。 万一这篇被看见的多了就藏了。以下为博客签名,与博文无关。只要你们不停下来…

nas远程联网访问部署方案

1.注册gemini 注册地址 (注册处有咸鱼验证(点击可知是系统负责人),提供提供你的注册名给Gemini,避免被定时删除账号) 2.开启NAS的SSH功能 以群晖举例,见一下三图,记得应用保存. 3.shell本地连入NAS 可以使用xshell,MobaXterm等进行连入,如果没有shell客户端,可以使用以下客户端…

Windows 调试工具课程

Windows 调试工具课程——在软件万种死法中调试出原因本文是我在集团内部上的课程记录而成的博客内容。在本次课程里面将和大家介绍一些在 Windows 上常用的调试工具,以及调查问题的常见套路。适合于伙伴们入门 Windows 调试 本文以下内容是采用原本课程课件里面的一页页的内容…

Ubuntu 18.04.6 TLS版本安装docker问题

技术问题求助: 版本号: Ubuntu 18.04.6 TLS Docker version 24.0.2, build cb74dfc 使用以上版本的ubuntu安装完成docker,安装完成之后使用docker下载镜像,报以下错误:尝试1:修改镜像源: 新建文件:vim /etc/docker/daemon.json root@ubuntu:~# cat /etc/docker/daemon…