10.17 NOIP 模拟赛 T2. 箱思客

news/2025/10/23 15:49:28/文章来源:https://www.cnblogs.com/YzaCsp/p/19160863

前言

很难不注意到我还有一个线段树合并, 一个神秘的 \(\text{CSP-S T4}\) 排列没有搞, 还有一个 \(\text{T3}\)
不管怎么样一定要注意停滞, 解决

思路

不难发现就是每次取了之后是否放回去的一个期望问题
首先考虑概率期望问题, 本题比较好想的一种做法就是直接利用期望定义来做


我们先处理每次概率空间不变的问题, 也就是每次都把取了的数放回去的情况

处理这个问题时的草稿

考虑一个选择 x1,x2,xkxk+1x_1, x_2, \cdots x_k \mid x_{k + 1}, 其中 gcd(x1,x2,,xk)1\gcd(x_1, x_2, \cdots, x_k) \neq 1, 而 gcd(x1,x2,,xk,xk+1)=1\gcd(x_1, x_2, \cdots, x_k, x_{k + 1}) = 1, 我们取到其的概率是 1nk+1\dfrac{1}{n^{k + 1}}, 事实上我们就需要找到所有的情形并计算概率与 kk 的乘积之和

考虑怎么处理到所有的情形, 一种想法是 dp\rm{dp}
常用的方法是 fi,jf_{i, j} 表示选择到第 ii 个数, 且存在一个公约数是 ii 的第 jj 个质因数这样一种情形的概率((本质上是单个数的不同质因数个数有限))
这个方法是有问题的, 但是不妨先列出一下转移
fi,xt1ntfj,ypi,x=pj,y\begin{gather*}f_{i, x} \stackrel{t}{\longleftarrow} \frac{1}{n^t} f_{j, y} & p_{i, x} = p_{j, y}\end{gather*}
然后我们要计算选择一个 xk+1x_{k + 1} 的概率来完成这个形态
需要注意的是, 这是一个无穷项求和, 但是并不困难

问题出在哪? 不难发现对于 gcd(x1,x2,,xk)\gcd(x_1, x_2, \cdots, x_k) 不为一个质数的情况, 我们显然会算重
当然不难猜测去重是一个容斥的形式, 但是这样子计算复杂度不能保证, 而且由于 xk+1x_{k + 1} 的存在, 算重的部分也不好处理

因此我们考虑换成另一种常见的处理方法, 即枚举一个约数
考虑钦定最终 gcd(x1,x2,,xk)=g\gcd(x_1, x_2, \cdots, x_k) = g, 不妨找到 gg 的倍数集合 S\mathbb{S}, 则每次我们选择集合内外的概率分别已知, 剩下的就是一个无穷项求和, 可以用等比数列求和公式计算

具体的, 记 p(x)p(x) 表示在 nn 个数中选出 ai=xa_i = x 的概率, 求 f(x)f(x) 表示钦定最终 gcd(x1,x2,,xk)=x\gcd(x_1, x_2, \cdots, x_k) = x, 找到的形态概率之和
P(x)=xyp(y)x>1,f(x)=i=1+Pi(x)P(x) = \sum_{x|y} p(y) \\x > 1, \quad f(x) = \sum_{i=1}^{+\infty} P^i(x)

这样仍然会算重, 但是去重是很简单的, 我们只需要倒序处理, 然后每次处理掉 xx 倍数即可

P(x)=xyp(y)x>1,f(x)=i=1+Pi(x)xyf(y)P(x) = \sum_{x|y} p(y) \\x > 1, \quad f(x) = \sum_{i=1}^{+\infty} P^i(x) - \sum_{x|y} f(y) \\

到这里我发现我对期望的计算还有问题, 让我们来处理这一部分
不妨同样设置 PP 函数, 但是先不管去重
f(x)={1P(x)}i=1+iPi(x)={1P(x)}i=1+j=i+Pj(x)={1P(x)}i=1+Pi(x)1P(x)=i=1+Pi(x)\begin{align*}f(x) &= \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} iP^i(x) \\&= \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} \sum_{j = i}^{+\infty} P^j(x) \\&= \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} \frac{P^i(x)}{1 - P(x)} \\&= \sum_{i=1}^{+\infty} P^i(x) \\\end{align*}

进而我们可以轻松地完成这一工作

考虑一个选择 \(x_1, x_2, \cdots x_k \mid x_{k + 1}\), 其中 \(\gcd(x_1, x_2, \cdots, x_k) \neq 1\), 而 \(\gcd(x_1, x_2, \cdots, x_k, x_{k + 1}) = 1\), 我们取到其的概率是 \(\dfrac{1}{n^{k + 1}}\), 事实上我们就需要找到所有的情形并计算概率与 \(k\) 的乘积之和

首先, 刻画形态的一种通用方法是 \(\rm{dp}\)
常用的方法是 \(f_{i, j}\) 表示选择到第 \(i\) 个数, 且存在一个公约数是 \(i\) 的第 \(j\) 个质因数这样一种情形的概率\((\)本质上是单个数的不同质因数个数有限\()\)
不难发现对于 \(\gcd(x_1, x_2, \cdots, x_k)\) 不为一个质数的情况, 我们显然会算重
当然不难猜测去重是一个容斥的形式, 但是这样子计算复杂度不能保证, 而且由于 \(x_{k + 1}\) 的存在, 算重的部分也不好处理

我们尝试使用另一种方法, 钦定 \(\gcd(x_1, x_2, \cdots, x_k) = g\), 然后处理符合条件的情形
具体的, 记 \(p(x)\) 表示在 \(n\) 个数中选出 \(a_i = x\) 的概率, 求 \(f(x)\) 表示钦定最终 \(\gcd(x_1, x_2, \cdots, x_k) = x\), 找到的形态所计算的概率与 \(k\) 的乘积之和

\[P(x) = \sum_{x|y} p(y) \\ f(x) = \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} iP^i(x) \\ \]

考虑 \(f(x)\) 还有更好的形式

\[ \begin{align*} f(x) &= \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} iP^i(x) \\ &= \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} \sum_{j = i}^{+\infty} P^j(x) \\ &= \Big\{1 - P(x)\Big\}\sum_{i=1}^{+\infty} \frac{P^i(x)}{1 - P(x)} \\ &= \sum_{i=1}^{+\infty} P^i(x) \\ \end{align*} \]

我们需要考虑去重, 令正确的 \(f(x)\)\(f_t(x)\)

\[f_t(x) = f(x) - \sum_{x|y} f_t(y) \\ \]

这种形式是显而易见的
还有一个小问题, 期望应当是 \(\sum f(x) + 1\), 因为我们没有考虑 \(x_{k + 1}\) 同样带来 \(1\) 的贡献


现在我们处理每次概率空间变化的问题, 也就是每次取了数之后就把他拿出来

我们仍然采用形态法, 仍然考虑一个选择 \(x_1, x_2, \cdots x_k \mid x_{k + 1}\), 其中 \(\gcd(x_1, x_2, \cdots, x_k) \neq 1\), 而 \(\gcd(x_1, x_2, \cdots, x_k, x_{k + 1}) = 1\)
\(c(x)\) 表示 \(a_i = x\) 的个数, \(g(x)\) 表示钦定最终 \(\gcd(x_1, x_2, \cdots, x_k) = x\), 找到的形态所计算的概率与 \(k\) 的乘积之和

\[ \begin{align*} C(x) =&\sum_{x|y} c(y) \\ g(x) =& \sum_{i = 1}^{C(x)} \bigg\{\frac{n - C(x)}{n - i}\bigg\}\dfrac{\displaystyle i{C(x) \choose i}}{\displaystyle{n \choose i}} \\ =& \sum_{i = 1}^{C(x)} \sum_{j = i}^{C(x)} \bigg\{\frac{n - C(x)}{n - j}\bigg\} \dfrac{\displaystyle {C(x) \choose j}}{\displaystyle{n \choose j}} \\ \end{align*} \]

我们来分析一下处理的复杂度
等价于分析 \(\mathcal{O} \Big(\sum_{x \geq 1} C(x)\Big)\), 考虑每个数会在自己的因数处被计算一次, 而 \(v\) 的因数个数大概也就 \(\mathcal{O}(v^{\frac{1}{3}})\), 我们不难发现是 \(10^8\) 级别可以勉强接受

注意我们仍然要用相同的方法去重并统计进期望里

总结

\(\gcd(\alpha_i, \alpha_j) > 1\) 的本质是存在质数 \(x | \alpha_i, x | \alpha_j\)\(x > 1\), 因此如果要求一堆数的 \(\gcd\) 大于 \(1\), 那么可以枚举存在的质因数/因数然后做判断

\(\sum_{i=1}^{k} iP^i(x)\) 可以转化成后缀和相加处理

关于 \(\gcd\) 的一种去重方法
尝试计算 \(x \mid \textrm{gcd}\)\(\textrm{gcd}\) 个数从而计算出 \(x = \textrm{gcd}\)\(\textrm{gcd}\) 个数, 具体来讲, 倒着处理, 每次删去当前考虑到的 \(\gcd\) 的倍数, 复杂度是 \(\mathcal{O} (V \ln V)\) 级别的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速

本文整理自 2025 云栖大会,阿里云智能集团高级产品专家张凤婷的演讲 在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、…

c++ 容器clear函数无法释放对象

class MyClassA { public:MyClassA():b(new char[12]) {memset(b, 0, 12);strcpy(b,"hello");cout << "构造" << endl;}~MyClassA() {if (b) {cout << "析构" <&l…

编织袋定制生产厂家:基于专业测评的技术、工艺及市场优势深度分析

在工业与农业包装领域,编织袋因其强度高、成本效益优、可定制性强等特点,占据着不可替代的地位。面对市场上众多的生产厂家,如何甄别出真正具备强大产能、卓越品质和稳定服务能力的供应商,成为采购决策的关键。本文…

2025 最新瓷砖厂家推荐榜:精选绿色创新与优质服务品牌,助力家装工程选购不踩坑

引言 家居消费升级与绿色发展浪潮下,瓷砖行业迎来品质迭代与创新加速,但市场品牌鱼龙混杂、产品同质化严重的问题仍未解决。消费者与工程采购方常陷入 “重外观轻环保”“重价格轻品质” 的误区,面临放射性超标、耐…

零样本学习(Zero-Shot Learning‌)

CLIP的四亿数据集预训练过程中,是见到过“platypus”这个词汇的; 四亿数据集中可能没有“鸭嘴兽图片”,但是我们输入的鸭嘴兽图片会有部分特征与预训练过程中大量大量图片中的部分特征相似,比如说鸭嘴兽有尖嘴,预…

docker 创建私有仓库

docker 创建私有仓库//查询nginxdocker login docker.1ms.run docker search docker.1ms.run/nginx docker pull docker.1ms.run/nginx -------------------------------------------------------------------//运行ng…

mac安装stable diffusion简易部署

1、到python官网下载安装python 3.10.6版本 2、到github下载stable diffusion https://github.com/AUTOMATIC1111/stable-diffusion-webui 3、下载的压缩包双击后,把解压的文件放在用户名文件夹下一级 4、运行,终端进…

视频汇聚平台EasyCVR如何构建智慧农业监控监管系统? - 实践

视频汇聚平台EasyCVR如何构建智慧农业监控监管系统? - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

100列表_切片_slice_步长_step_翻转_reverse

100列表_切片_slice_步长_step_翻转_reverse$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");列表_切片_slice_步长_step_翻转_reverse 回忆上次 对切片 赋了…

可视化图解算法65:有效的字母异位词

对于数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。1.题目 描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的…

2025 年传感器厂家最新推荐排行榜:磁致伸缩 / 防爆 / 防水 / 隔爆 / 线性等类型传感器企业实力与产品优势解析

引言 当前传感器行业蓬勃发展,产品类型日益丰富,但市场上品牌良莠不齐,技术水平、产品质量和服务能力差异显著,给企业及采购者带来极大选择困扰。在工业生产、重点工程等场景中,对传感器的高精度、稳定性、耐用性…

2025 年加热线圈厂家最新推荐排行榜:聚焦行业头部企业,深度解析优质品牌核心优势与选购价值轴承外感应加热线圈 / 轴承座内圈加热线圈 / 感应加热线圈公司推荐

引言 当前加热线圈市场品牌繁杂,产品质量参差不齐,部分产品存在加热不均匀、寿命短、能耗高等问题,难以满足机械制造、汽车工业、风电装备等领域对高精度、高可靠性加热的需求。同时,不同行业对加热线圈的定制化要…

2025年山东钢结构厂家企业推荐榜,聚焦服务品质与特色业务竞争力深度剖析

随着 “双碳” 目标推进与装配式建筑政策落地,山东钢结构市场需求持续增长,厂房仓库、电厂设施、场馆建设等领域的专业化需求尤为突出。企业在选择合作方时往往面临多重困惑 —— 如何辨别企业项目交付能力、如何匹配…

上传图片后图片加载失败,或因后台ftp传输共享目录延迟导致获取不到

在前端上传图片后,通过ajax传输至后台服务器,后台服务器通过ftp方式将文件发送至共享目录中,或因传输延迟或共享目录同步延迟导致前端无法获取到已上传的图片信息,这时需要对图片进行重新加载处理。 进行重新加载时…

劳务工招聘助手小程序管理系统:革新劳务招聘管理的高效解决方案

一、概述总结 劳务工招聘助手小程序是由江苏金邦网络倾力打造的一款专为劳务招聘行业量身定制的微信小程序工具。它彻底摒弃了传统手工登记的繁琐模式,通过数字化手段解决了劳务招聘过程中数据繁杂、人手不足、统计困…

互动问答直播版双端小程序管理系统:开启直播变现新蓝海

一、概述总结 互动问答直播版小程序是一款适配微信与字节跳动双端的热门数字化产品,由长沙方廉企业管理有限责任公司提供,通过微擎系统在线交付。该小程序聚焦直播问答赛道,整合了烧脑闯关问答、找不同、找茬、找出…

Axure组件即拖即用:垂直折叠菜单(动态展开/收回交互) - 指南

Axure组件即拖即用:垂直折叠菜单(动态展开/收回交互) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

【图论】kruskal-最小生成树算法简析

克鲁斯卡尔(Kruskal)算法从另一途径求网的最小生成树。其基本思想是:假设连通网G=(V,E),令最小生成树的初始状态为只有n个顶点而无边的非连通图T=(V,{}),概述图中每个顶点自成一个连通分量。在E中选择代价最…

水贝培育钻项链生产厂家口碑榜:基于专业测评的技术、工艺及市场优势深度分析

随着培育钻石技术的成熟和市场需求的增长,水贝作为中国珠宝产业的重要基地,涌现出一批专注于培育钻项链生产的优秀厂家。本报告基于专业调研,从技术实力、生产工艺、市场反馈及客户案例等维度,对国内水贝培育钻项链…