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

CF1774F2

Sol

不妨思考操作三的本质:对于先前插入的某个当前值为 \(x\) 的数,将其分裂为 \(x\)\(x-w\)。其中 \(w\) 是如果执行一次当前操作三, 期间所有二操作的和。这样转化的正确性是显然的。

考虑 \(w\) 如何更新,显然遇到二操作就加上对应的 \(x\),遇到三操作则翻倍即可。

进一步地,我们这样描述问题:对于某一个插入操作,我们考虑它后面的二三操作,遇到二操作则减去对应的 \(x\),遇到三操作则可以选择减去对应的 \(w\) 或不变,求最后有多少种可能的 \(x\'>0\),再对所有插入操作求和。

注意到相邻两个三操作的 \(w_1,w_2\) 满足 \(2w_1 \leq w_2\)。故除开一段 \(w=0\) 的前缀,剩下的三操作只有 \(\log v\) 个是有意义的,因为后面的三操作你必须选择不变。

\(w=0\) 的三操作对插入的贡献即为 \(ans \gets 2ans\)。此时剩余部分转化为:有一个大小不超过 \(\log v\) 的集合 \(S\),且满足 \(\forall i>1,2S_i \leq S_{i-1}\),求它有多少子集和小于 \(x\)。从大到小,枚举当前元素选不选,选则继续递归,不选则剩下的数可以任意 选择,直接计算即可。

时间复杂度 \(O(n \log v)\)

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

相关文章:

  • sscanf用法
  • sprintf用法
  • 订单多到做不完?四步把交期、缺料、进度和插单都解决了
  • 八、热插拔
  • 第37天(中等题 数据结构)
  • PostgreSQL权限管理实践
  • 预编译命令
  • 2025 KEYDIY KD-MP: Add Keys for MLB MQB – Key Identification, Data, Calculation
  • 把 CLI 搬上 Web:在内网打造“可二开”的 AI IDE,为什么这条路更现实? - 指南
  • [LangChain] 23. 回调机制
  • freedom of speech
  • 七、设备模型
  • Scrum冲刺阶段 Day Three
  • 鼎鉴时代锋芒 智启品牌新章 ——2025品牌智鉴榜荣耀登临
  • 迈向人机共育的文明语法:AI元人文理论体系深度阐释——内观照叙事模型
  • 深入解析:MTK5G旗舰系列——天玑9500/9400/9300/9200/9000在AI和处理器性能、DDR频率及UFS的深度对比分析
  • Day25综合案例一--CSS精灵--京东服务
  • Intellij扩展列表
  • agentic terminal coding
  • the badness of USA
  • 2025年11月26日
  • Day3 Scrum冲刺博客
  • 完整教程:内核里常用宏BUG_ON/WARN_ON/WARN_ONCE
  • 贪心专题笔记(从b站左程云老师那上完后的笔记)
  • Agent编写全攻略(超详细)从零基础到精通,一篇搞定,不看后悔,赶紧收藏!
  • 做题警醒
  • 动态规划可能性展开
  • 微软发布 Godot C# 游戏开发教程:godot-csharp-essentials
  • Day3-20251126
  • [KaibaMath]1028 关于[log(m, a)]+1=⌈log(m+1, a)⌉的证明