ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

P3582 [POI2015] KIN & ZLOJ 练习58 B

2022-08-04 08:01:32  阅读:133  来源: 互联网

标签:58 val 套路 线段 枚举 POI2015 lst P3582 端点


written on 2022-08-03

套路题,是找最优区间的问题

对于这类问题,一般的方法是使用数据结构维护相关信息,然后枚举左/右端点,找到最优的另一端点。

难道不是极其套路的吗。。为什么连这都没做上来。。

那么具体到此题,由于同一种电影如果观看多于一次,其贡献就会为 \(0\),所以在枚举端点时是需要更新操作的。这里为了方便不妨使用强大的线段树。枚举左右端点均可,因此实际操作时我们不妨直接顺序枚举右端点,然后线段树中存的是以 \(x\) 为左端点的好看值,所以对于每一个右端点 \(i\),直接在线段树中查询 \(1\) ~ \(i\) 的最大值更新答案即可。

另外就是更新左端点答案的问题了。考虑区间向右扩展一格的影响,容易发现,此时:

  1. \(1\) ~ \(i\) 的所有左端点加上 \(val_{a_i}\)。

  2. \(1\) ~ \(lst_i\) 的所有左端点减去 \(val_{a_i}\)。

当然这是有问题的,因为重复更新(减去)了某一个值,事实上,可以手动模拟一下某个数据,可以总结发现,上述转移实际上应为:

  1. \(lst_i+1\) ~ \(i\) 的所有左端点加上 \(val_{a_i}\)。

  2. \(lst_{lst_i}+1\) ~ \(lst_i\) 的所有左端点减去 \(val_{a_i}\)。

当然正式比赛的时候还是应当自己手动调试分析来找结论的。这类题目十分套路,还是应当熟练掌握的。

标签:58,val,套路,线段,枚举,POI2015,lst,P3582,端点
来源: https://www.cnblogs.com/Freshair-qprt/p/16549357.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有