尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CF1874(CF Round 901) 总结

CF1874(CF Round 901) 总结
📅 发布时间:2026/6/18 18:05:28

CF1874(CF Round 901) 总结

A

显然若干轮之后,每两次操作不会改变它们的苹果,于是让 \(K\) 对一个较小数取 \(\min\) 然后暴力做即可。

B

每一位是独立的,对于 \(a,b,m\) 都相同的位,操作后的结果一定相同,所以只有 \(8\) 个本质不同的位。

我们从 \(a=(11110000)_2,b=(11001100)_2,m=(10101010)_2\) 开始跑最短路,这样就能覆盖所有本质不同的位的情况。跑出所有 \((a',b')\) 的最短路,这时还有一些位是没有限制最终的 \(a'=c,b'=d\) 的,可以用五进制把所有情况压起来,没有限制的位记为 \(4\),那么按顺序枚举所有情况,为 \(4\) 的位可以随意替换为 \(0\sim 3\) 进行转移。

所有情况数为 \(5^8<4\times 10^5\)。

查询时,找出最多八个本质不同的位,然后转成五进制 \(O(1)\) 查询。

计算量为 \(16\times 2^{16}+8\times 5^8+30\times T\)。

C

设 \(f_i\) 表示从 \(i\) 开始走到 \(n\) 的最优步数。我们把 \(i\) 所有出边的 \(f\) 从大到小排序,同时处理 \(p_{i,j}\) 表示度数为 \(i\) 的点,走向第 \(j\) 条边的概率。那么两者按顺序相乘再相加即可求出 \(f_i\)。

怎么求 \(p_{i,j}\) 呢?我们每次肯定会选择待选序列中最大的点走。对于 \(j=1\),有 \(p_{i,j}=\frac 1 i\)。否则,考虑为另一个人选的边 \(k\),若 \(k<j\) 转化为 \(p_{i-2,j-2}\),若 \(k>j\) 转化为 \(p_{i-2,j-1}\)。即 \(p_{i,j}=\frac {j-2}{i}p_{i-2,j-2}+\frac {i-j}{i}p_{i-2,j-1}\)。

复杂度 \(O(n^2+m\log n)\)。

D

设 \(f_i\) 表示当前在 \(i\),第一次走到 \(i+1\) 的期望步数。答案为 \(\sum f_i\)。

\[f_i=1+\frac {a_{i-1}}{a_i+a_{i-1}}(f_{i-1}+f_{i}) \]

\[f_i=\frac {a_i+a_{i-1}}{a_i}+\frac{a_{i-1}}{a_i} f_{i-1} \]

推出前几项得

\[f_0=1 \]

\[f_1=1 +\frac {2a_0}{a_1} \]

\[f_2=1+\frac {2(a_0+a_1)}{a_2} \]

\[f_3=1+\frac{2(a_0+a_1+a_2)}{a_3} \]

\[\sum f_i=n+2\sum_{i} \frac {1} {a_i}\sum_{j=0}^{i-1} a_j \]

对其 DP,设 \(dp_{i,j}\) 表示考虑完前 \(i\) 项,\(a\) 的和 为 \(j\) 时的最小步数。直接做是 \(O(n^2)\) 的。

考虑优化:

\[dp_{i,j}=\min_{k<j} dp_{i-1,k}+\frac k {j-k} \]

其中贡献函数是满足四边形不等式的,所以可以分治决策点,复杂度 \(O(nm\log m)\)。

E

设 \(f_{i,j}\) 表示 \(|A|=i\),且 \(\text {fun}(A)=j\) 的 \(A\) 的数量。枚举 \(A_1\) 的值,则拆成两个排列,有转移:

\[f_{x,y}=\sum _{i=1}^x\binom{x-1}{i-1}\sum_{j=0}^{y-x} f_{i-1,j}\times f_{x-i,y-x-j} \]

直接做是 \(O(n^6)\)。发现后面的式子是卷积的形式,我们写成卷积:

\[F_k(x)=\sum _{i=1}^k\binom {k-1}{i-1}\times x^k\times F_{i-1}(x)\times F_{k-i}(x) \]

考虑到 \(F_n\) 是 \(\frac {n\times (n+1)}{2}\) 次多项式,我们可以代入求 \(O(n^2)\) 个值,然后用拉插求出 \(F_n\) 的系数即我们要的答案。求值可以每次 \(O(n^2)\) 暴力求,复杂度 \(O(n^4)\)。

而对于拉插的部分,观察式子:

\[F(x)=\sum _{i=1}^T y_i\prod _{j=1,j\ne i}^T \frac {x-j}{i-j} \]

可以先处理 \(\prod _{j=1}^T (x-j)\),对于多项式系数 \(a\),每一项 \(a_i=a'_{i-1}-j\times a_i'\)。然后每次用 \(\prod _{j=1}^T (x-j)\) 除以 \((x-i)\) 即可,每一项 \(a_i'=(a_i-a_{i-1}')/(-j)\)。都是 \(O(n^4)\)。

总复杂度 \(O(n^4)\)。

F

考虑容斥,我们指定区间集合 \(S\) 都是坏区间,对于所有 \(S\),求出 \((-1)^{|S|}\) 与 \(S\) 方案数乘积的和。

发现对于真相交的两个坏区间 \([l_r,r_1],[l_2,r_2]\) 满足 \(l_1<l_2\le r_1<r_2\),一定有 \([l_1,l_2-1]\) 是坏区间。所以对于存在真相交区间的集合 \(S\),我们选或不选 \([l_1,l_2-1]\) 都可以,那么容斥系数就抵消了,所以我们可以不用考虑存在真相交区间的集合。

剩下的区间一定是不交或包含的关系,组成树形结构。于是设 \(f_{l,r}\) 表示考虑完了 \([l,r]\) 所有子区间是否在 \(S\) 内,且 \([l,r]\in S\) 的带容斥系数的方案数。同时我们设 \(g_{l,r,x}\) 表示考虑完 \([l,r]\) 所有子区间是否在 \(S\) 内,且有 \(x\) 个位置不被 \(S\) 中的区间包含的带容斥系数的方案数。则有转移:

\[g_{l,r,x}=g_{l,r-1,x-1}-\sum _{i=l}^r g_{l,i-1,x}\times f_{i,r} \]

\[f_{l,r}=-\sum _{i=0}^{r-l+1} g_{l,r,i}\times i!,\text {when }r\le m_l \]

我们先算 \(g\),再算 \(f\),最后把 \(g_{l,r,0}\) 加上 \(f\)。复杂度 \(O(n^4)\)。

相关新闻

  • 2. Spring AI 快速入门使用 - Rainbow
  • 阿里将发布多模态模型 Qwen3-Omni,主打多语言与复杂推理;DeepvBrowser 上线 AI 语音浏览器丨日报
  • Word文档内容批量替换脚本 - wanghongwei

最新新闻

  • args4j子命令实现指南:如何构建类似git的复杂命令行接口
  • c12测试策略终极指南:配置加载的单元测试与集成测试完全解析
  • Self-Replace案例研究:知名开源项目如何使用这个库实现无缝更新
  • 普陀装修指南:八家上海装修公司综合观察 - 资讯焦点
  • Arduino ESP32完整安装教程:从零开始构建物联网开发环境
  • 阿甘|张家界纯玩领队,8年只做一件事:带你好好玩张家界 - 资讯焦点

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号