当前位置: 首页 > news >正文

杂题选做-4

#31 P2824

注意到只有一次询问,那么我们可以离线处理。

然后我们考虑一个弱化的问题,值域只有 \(\{0,1\}\)

那么我们我们在处理的时候可以直接将区间 \([l,r]\) 内的一的数量 \(k\) 询问出来,然后将 \([l,r-k]\) 设为 \(0\),将 \([r-k+1,r]\) 设为 \(1\) 即可。

然后回到这道题:我们考虑类似中位数,将大于等于答案的数设为 \(1\),小于答案的数设为 \(0\),然后仿照上述方法操作,那么我们可以询问到操作结束后,\(q\) 位置上的数是否大于答案。

注意到这是一个具有单调性的信息,套个二分即可。

#32 P3582

区间内只出现一次的颜色权值和,太典了。

直接离线询问,然后按右端点排序,接下来扫描线一次就做完了。

#33 P3765

注意不同寻常的空间限制(毒瘤)

绝对众数可以用摩尔投票法来确定。具体地,因为绝对众数的出现次数大于一半,因此我们对于每一个非绝对众数的数都可以找到一个绝对众数与之匹配。于是我们只需要记录当前投出的数是哪个,它目前还剩多少个即可。

这东西是可以合并的,显然。但是有一个问题:题目不保证存在绝对众数。也就是说我们只是得到了一个可能是答案的值,我们还需要判断它是否是答案。

这是简单的,就是询问一个数在一个区间内的出现次数。你可以通过数据结构维护它,但是注意到空间性质十分苛刻,我们选择不同寻常的平衡树。

#34 P14378

考虑没有修改怎么做。

首先,贪心地,我们希望 \(A\) 的较小值和 \(C\) 的较大值相加。于是我们将 \(A\) 升序排序,\(C\) 降序排序,然后就得到了初始答案数组。

然后考虑处理询问。注意到因为修改是独立的,我们观察一次修改会造成什么影响。

结论:我们只会特别处理修改前后 \(A\) 变动的位置。

这显然是一个连续区间,我们可以用线段树处理。

具体地,你可以用数据结构或 ST 表查询区间内 \(A\) 向左(向右)一位后得到的答案序列的区间极值,前后缀极值可以预处理,然后像上述情况回答询问即可。

#35 P14379

观察部分分:没有 \(1\)

发现无论怎么选择区间,区间的 \(mex\) 值都是 \(1\)。因此答案是 \(0\)

再观察部分分:只有至多一个 \(1\)

注意到有且仅有包含 \(1\) 的区间是有贡献的,因为我们可以把区间分成 \([l,l]\)\([l+1,r]\) 两部分,然后一定有且仅有一段是包含 \(1\) 的,其 \(mex\) 值为 \(2\)。于是我们统计这种区间的数量即可。

再再观察部分分:没有 \(2\)

我们对区间进行分类讨论:

  • 以非 \(1\) 开头:那么我们一定可以将序列分为 \([l,l]\)\([l+1,r]\) 两段,然后第一段的 \(mex\)\(1\),第二段只需要包含 \(1\) 即可;

  • \(1\) 开头:那么我们一定可以将序列分成 \([l,r-1]\)\([r,r]\) 两段,然后第一段的 \(mex\) 至少为 \(2\),第二段只需要不包含 \(1\) 即可。

我们观察到符合条件的区间有点多,于是我们容斥一下,把不符合条件的区间减掉即可。也就是两头都是 \(1\) 的区间和没有 \(1\) 的区间。

然后就是考虑一下有了 \(2\) 怎么做。

首先,已经合法的区间不会变得非法:因为上文我们讨论得到的区间都是只和 \(1\) 相关的。

然后会有新的合法区间:两头都是 \(1\) 且包含 \(2\) 的区间,那么我们按照上述方法划分后左边是 \(3\) 右边是 \(2\),是合法的。

然后统计的话就是 set 加数据结构(树状数组完全可以)。

修改只需要处理左右两边的贡献即可。

http://www.jsqmd.com/news/31079/

相关文章:

  • 2025 年 11 月江阴商标注册服务商权威推荐榜:专业代理机构实力解析与高效申请指南
  • 2025 年 11 月江阴商标注册服务商权威推荐榜:专业代理机构与高效申请流程口碑之选
  • 详细介绍:安全框架 SpringSecurity 入门(超详细,IDEA2024)
  • 洛谷 P1780 染色的立方体 题解报告
  • P11.常见的transforms(一)
  • 2025年11月上海装修公司榜单:松江千州装饰真实口碑深度解析
  • 2025年11月上海装修公司排行榜:从设计到交付的完整评价指南
  • 2025年11月上海装修公司排名榜:十强对比看谁更值
  • Web开发的坑
  • 5.吴恩达机器学习—神经网络的基础使用
  • 前端三剑客——javascript内置对象与其方法
  • 2025 年 11 月 PCD 铣刀厂家推荐排行榜,金刚石铣刀,聚晶金刚石铣刀,超硬刀具,高精度 PCD 铣刀公司推荐
  • 2025 年 11 月平面铣刀厂家推荐排行榜,钨钢平面铣刀,合金平面铣刀,数控平面铣刀,高精度平面铣刀公司推荐
  • 2025 年 11 月侧铣刀厂家推荐排行榜,钨钢侧铣刀,不锈钢侧铣刀,铝合金侧铣刀,高硬度侧铣刀公司推荐
  • 2025年11月适合初中生的学习机品牌排行:市场热销榜全维度评价
  • 《算法闯关指南:优选算法--滑动窗口》--15.串联所有单词的子串,16.最小覆盖子串 - 实践
  • 2025年11月适合初中生的学习机品牌评测:五款主流机型横向对比
  • 2025年11月适合初中生的学习机品牌推荐:权威榜单对比与口碑评测
  • FT232RL FT232R国产替代芯片GP232RNL GP232RL高稳定性USB转串口桥接芯片
  • Oracle OCP认证考试题目详解082系列第1题 - 实践
  • H3C AC+AP本地转发二层组网
  • jmeter中java.net.ConnectException: Connection refused: connect - 实践
  • 疯了还是天才?(上):一门基于Vim,号称“AI无法取代”的新语言
  • 2025年11月教育资源好的学习机品牌推荐:权威榜单对比评测
  • 小记
  • 2025年11月教育资源好的学习机品牌推荐:口碑榜五强深度评测
  • 2025年11月教育资源好的学习机品牌推荐:榜单对比五强教育资源含金量
  • 【pytest】使用 marker 向 fixture 传递数据 - 指南
  • 2025年11月性价比高的学习机品牌推荐:热门排行深度对比
  • Ubuntu 20 中 root 默认密码