[Ynoi2015]盼君勿忘
0|1题目传送门
第一道 Ynoi 纪念一下qwq
1|0题意
- 给定一个序列,每次求一个区间 中所有子序列分别去重后的和 。
2|0Sol
观察题意,可以发现:
-
可离线。
-
每次模数不同。
-
十有八九爆 。
对于第 点,容易想到用莫队解决问题。
那么时间复杂度已经到 了。(
我们考虑每一位对答案的贡献。
对于区间 ,考虑 的贡献 。()
设 在区间 中出现 次。
我们知道,一个元素总数为 的集合的子集个数为 个。
可由 得出结论。
那么我们接下来算单个元素贡献有两种推导方法。
2|1Sol 1
我们直接从选入手。
那么可得贡献即为选的乘上不选的状态数。
即 。
其中 表示选的非空子集。
可化为 。
2|2Sol 2
我们转换一下思路,一个子序列只有包含和不包含两种情况。
那么我们可以想到用总数减去不包含的状态数。
即直接可得 。
我们考虑在莫队时保存出现次数相同元素的和。
需要快速插入,删除。
由于不需要保证有序,容易想到双向链表。(建议手写)
时间完成插入删除操作。
我们考虑模数不同,如何迅速求出
我们考虑关于 分组。
那么我们可以预处理出 ,,...,,... 取模后的值。
并用上面的公式计算。
那么,似乎问题解决完了?qaq
为了卡常,我们全写 ,想着还有取模呢。qaq
交一发样例,过了。交一发,WAWAWA,抱灵了。(((
这时候你需要在一些可能爆炸的地方强制类型转换成 。qwq
这样才可能不 WA。(
不要问我怎么知道 我调这个调了 天才发现。
那么交一发 A 了qwq。
为啥加了火车头比不加慢啊qaq
给个刚好能过的代码主要在#9被卡。(
__EOF__
本文作者:Daniel Jiang
本文链接:https://www.cnblogs.com/danieljiang/p/panjunwuwang.html
关于博主:JSOIer 高一萌新 求带/kel
版权声明:awa
声援博主:求赞/kel
本文链接:https://www.cnblogs.com/danieljiang/p/panjunwuwang.html
关于博主:JSOIer 高一萌新 求带/kel
版权声明:awa
声援博主:求赞/kel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?