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

SC 省集

Day 1

8+100+50,rk13。

打成螳臂了/ll

T1

小 H 有一个长度为 \(n\) 的树状数组 \(a\),下标为 \(1 \sim n\),初始时所有元素都为 \(0\)。定义一次更新操作 \(f(i, v)\) 为:

  • \(a_i\) 的值加上 \(v\)
  • \(i\) 赋值为 \(i + lowbit(i)\),如果此时 \(i \le n\) 则回到第一步,否则结束操作。

其中 \(lowbit(x)\)\(x\) 二进制下最低位的 \(1\) 所代表的数,例如 \(lowbit(12) = 4\)

现在小 H 进行了 \(m\) 次操作,每次操作会在 \([1, n]\) 间随机选择一个整数 \(i\),在 \([0, S]\) 间随机选择一个整数 \(v\),然后执行操作 \(f(i, v)\)

小 H 想知道在进行完所有操作后,\(\sum_{i=1}^{n} a_i^k\) 的期望是多少,答案对 \(10^9 + 7\) 取模。

注意,本题中我们认为 \(0^0 = 1\)

\(1\le n\le 10^9,0\le S,m\le 10^9,0\le k\le 1000\)

马修出的题,%%%

对不起但是我声称我的确没时间做了(

这里给出 \(O(k^2+k\log n)\) 做法,不过主要并非我想的。

期望的线性性拆开,枚举一个位置 \(t\in [1,n]\) 的 lowbit 为 \(2^i\),再枚举其被操作的次数为 \(c\)。令 \(p=\frac{2^i}{n}\),则 \(Ans=\sum\limits_{i}(\lfloor \frac{n-2^i}{2^{i+1}}\rfloor+1)\sum\limits_{c}\binom{m}{c}p^c(1-p)^{m-c}(f_c\frac{1}{(S+1)^{c}})\)。这里 \(f_c\) 的含义即一个位置被操作 \(c\) 次的总贡献。

更进一步地,\(f_c=\sum\limits_{p\in [0,S]^c}(\sum\limits_{j=1}^{c}p_j)^k\)。将括号拆开,每个括号内选择一个 \(p\) 相乘再求和。所以若这里令 \(g_x\) 为恰好选择了 \(x\)\(p\) 的乘积的和,则 \(f_c=\sum_{x}\binom{c}{x}g_x(S+1)^{c-x}\)

注意到当 \(x>k\) 时,\(g_x=0\)。所以我们就可以将任意 \(f\) 转为 \(x\le k\)\(g_x\),即 \(f_c=\sum\limits_{x=1}^{k}\binom{c}{x}g_x(S+1)^{c-x}\)

如果我们能求出 \(c\le k\)\(f\),就可以通过递推求出所有 \(g\)。而后将 \(Ans\) 求解式的 \(f\) 代换后的求解复杂度为 \(O(k\log n)\),不是瓶颈。

接下来是重点。先用斯特林数将 \(x^k\) 拆成下降幂,于是我们相当于要对每一个 \(c,i\in [0,k]\) 求出 \(\sum\limits_{p\in [0,S]^c}\dbinom{\sum\limits_{j=1}^{c}p_j}{i}\)

等价于 \(\sum\limits_{p\in [0,S]^c}[x^i](1+x)^{\sum\limits_{j=1}^{c}p_j}\)

\(=[x^i](\sum\limits_{j=0}^{S}(1+x)^j)^c\)

\(=[x^{i+c}]((1+x)^{S+1}-1)^c\)

\(f_c(x)=[(1+x)^{S+1}-1]^c\),则我们要对所有 \(c\in [0,k]\)\(f_c(x)\) 求出其前 \(O(k)\) 项系数。

形式并非很复杂,那么就开导吧!

\[f_c^{'}(x)=[(1+x)^{S+1}-1]^{c-1}c(S+1)(1+x)^S \]

\[(1+x)f_{c}^{'}(x)=f_{c-1}(x)c(S+1)(\frac{f_{c}(x)}{f_{c-1}(x)}+1) \]

\[(1+x)f_{c}^{'}(x)=c(S+1)(f_{c-1}(x)+f_{c}(x)) \]

两边提取系数就可以做到 \(O(k^2)\) 递推啦!

T2

根号分治做完了。

T3

提答?不想补。

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

相关文章:

  • 如何用Mac Mouse Fix重塑你的鼠标:从普通设备到macOS生产力引擎的全面指南
  • contextmemory:基于MCP协议,解决开发者多任务上下文切换痛点的AI编程助手工具
  • Perplexity+JAMA文献挖掘全链路(临床科研人必备的AI检索工作流)
  • STM32G474的PWM抖动模式到底有啥用?一个例子讲清楚如何提升电机控制的精度
  • 团队冲刺每日总结5.13
  • 基于MCP协议构建AI工具服务器:从原理到企业级实践
  • EVE-ng实战:5分钟搞定华为AR路由器与思科交换机的混合组网实验
  • Kali 2023/2024 新内核下,搞定COMFAST CF-812AC无线网卡驱动的保姆级避坑指南
  • 从信息学奥赛到日常编程:深入理解浮点数运算与球的体积计算
  • 别再混淆了!一文搞懂PLC高速计数器的4种工作模式(以S7-200和编码器为例)
  • 深入USB总线:图解移远EC20在Linux下如何从硬件接口到虚拟出5个ttyUSB
  • 别再写for循环了!用Java8的groupingBy,一行代码搞定员工按城市分组统计
  • GluonCV与GluonNLP:模块化工具包加速CV/NLP从研究到部署
  • Poppins字体:免费开源的现代几何无衬线字体终极指南
  • 用Python玩转大疆Tello:从键盘控制到手势飞行的保姆级实战教程
  • 手把手教你为香橙派H3适配ST7789屏幕:FBTFT驱动移植保姆级教程(含源码解析)
  • 从零解构无文档Web项目:逆向工程与知识重建实战指南
  • Kotlin Flow 完全指南
  • 基于OpenClaw的iPad本地AI应用开发:架构设计与工程实践
  • 告别抓瞎!手把手教你用vConsole调试移动端H5页面(附Vue项目实战配置)
  • AntiDupl.NET:高效智能的重复图片检测与清理解决方案
  • 告别安卓模拟器:5步在Windows系统直接安装APK应用的终极方案
  • 保姆级教程:在Win10上用VS2022搞定TensorRT 8.5.2.2(含zlibwapi.dll缺失等常见坑点)
  • 在OpenClaw项目中配置Taotoken作为核心模型供应商
  • Midjourney v8图像修复黑盒逆向报告:基于2,147次A/B测试,揭示--fix、--reroll、--refine三指令响应延迟差异达412ms
  • [算法训练] LeetCode Hot100 学习笔记#23
  • 机器学习知识产权保护:从数据到模型的立体防御策略
  • 智能手机如何重塑芯片市场:从基带到SoC的平台化竞争
  • iPhone安全诊断:从异常耗电到系统排查的工程实践指南
  • 3款精选工具:重新定义你的星露谷物语体验