一类区间查询对应答案具有单调性--维护前缀对应端点最大值
https://www.luogu.com.cn/problem/P8773
[蓝桥杯 2022 省 A] 选数异或
题目描述
给定一个长度为
Solution:我们预处理每个端点对应的左边最近的配点,然后 回答询问。
详细来说,对于每个右端点我们找到其左边最近的对应位置。进一步,我们考虑对于一个区间,我们只需要存在一个点他的对应端点在区间内就可以了,于是我们需要维护对应端点的区间最大值,RMQ问题可以线段树或者st表解决。
但我们可以利用我们只需要回答存在性,而不用具体回答,我们只需要维护前缀最大值,对于每个查询只需要检验ans[r]>=l即可
牛课周赛38F
链接:https://ac.nowcoder.com/acm/contest/78292/F
来源:牛客网
小苯有一个长度为
他现在进行了
输入描述:
Solution:首先我们注意子序列,然后会发现任何一个长度回文子序列都规约到一个长度为3的回文子序列,所以我们只需要找到对于当前右端点,我们在i-1里去寻找对应的最大位置j满足a[j]==a[i].
对于一个区间来说,我们只需要存在i是的对应的j在区间内,也就是大于L,所以依然是维护区间对应数的最大值。值得注意区别上题的是,我们对于i是需要在i-1的前缀最大值里找答案,因为要求长度为3,所以要有一个空隙。
广州大学2024校赛E题
链接:https://ac.nowcoder.com/acm/contest/77448/E
来源:牛客网
这
小A很无聊,于是以第一颗星星为根,用
一颗星星是 漂亮的 当且仅当以这颗星星为根的子树的所有星星颜色都不同;
到底有多少星星是漂亮的呢?
前言:本题最大N=2e6, 做法需要非常小的常数,链式前向星登场(bushi。
Solution:首先利用dfs序将树上问题转化到序列上。原问题等价于每次查询区间[l,r](子树dfs序连续)是不是每个数都不同,我们应该考虑预处理pre[i]表示i上次出现的最近位置,然后 查询。同样套路的,我们只需要维护前缀最大值就可以了
出题人标程:dfs过程中计算答案
__EOF__

本文作者:爱飞鱼
本文链接:https://www.cnblogs.com/mathiter/p/18104949.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/mathiter/p/18104949.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话