排列不会一点

news/2025/2/10 8:34:17/文章来源:https://www.cnblogs.com/LUHCUH/p/18707054

前言

  • 记得去年模拟赛有类似的题目,当时问 lmy,给了我一些直观的感受,没理解,最后不了了之。
  • 今年又碰到了,去问了问 gqh,又给了我一些直观感受,还是没理解,哎呦,我好菜呀。
  • 最后 rj 说的,好像也没理解,看来只能固执地,理解我自己的想法了
  • 啊,这不是事情的最后,shy 又说可以不看成排列,看成序列
  • tt 又给出了,直接不转化的做法
  • 不管怎么说,最后自己自圆其说了一下,顾有此篇,嗯 \bx\bx\bx 他们。

排列不会一点

  • 有一个集合 \(S={1,2,\cdots,n}\),每次在 \(S\) 中随机选取一个数 \(p\),并删除 \(S\)\(p\) 以及 \(p\) 的倍数。
  • 求期望选出多少个数后 \(S\) 被删没

最朴素的想法往往来源于模拟

  • 这也是我最迷惑的地方,我感觉,题解缺少对这种转化的正确性的说明,或者有什么更简单的理解方式我理解不到。
  • 那肯定是一个一个删数啦。由于期望的定义,想想我们要 求得是什么。
  • 设每一次删除的一组有 \(o_i\) 个数,那么概率为 \(\frac{1}{\prod_i(\sum_{k=1}^iO_k)}\) 这很自然,就是我们每次均匀随机的概率
  • 此时删了多少个数呢,也就是 \(|o|\)
  • 故此,期望就是 \(\sum\limits_{o}|o|\frac{1}{\prod_i(\sum_{k=1}^iO_k)}\)

接着我们进一步思考

  • 记得有这样一类问题,从 \(n\) 个不同的球,从中拿出两个球,问有多少种可能

  • 若是区分第一次拿出,和第二次拿出又会怎样。

  • 陈老师讲过,用 \(\{1,2\},(1,2)\) 集合与二元组就可以巧妙的区分他们。

  • \((1,2)\not=(2,1)\) 然而 \(\{1,2\}=\{2,1\}\)

  • 咦,这与今天我们讨论的内容有什么关系呢?

  • 若我们把二元组的的计数,看所是更基本的计数,那么集合的计数,是不是就是在二元组的计数上乘了一个为 \(2\) 的权重。

  • 什么意思,其实我想表述的是,从 \(n\) 个不同的球中拿出两个球为 \({1,2}\) 的概率可以是 \(\frac{|\{(1,2),(2,1)\}|}{n(n-1)}=\frac{|\{\{1,2\}\}|\times w}{n(n-1)}\)

  • 此时 \(w=2\) 就是,我想说的权重。

  • 咦,我们比较会枚举什么,这种删除不好枚举,可我们有排列呀!

  • 若我们枚举排列,我们按照排列做原题的删数,只保存第一次删的数,组成的新序列叫做原排列的生成序列(自己起的名字)

  • 那么一个生成序列可以由多个排列生成,而我们发现对应的排列的个数恰好为,生成序列在原题意义下的出现概率分之 \(1\)

  • 接着,我们尝试证明这件事。

  • 还是沿用之前,设每组删除 \(o_i\) 个数,显然 \(\sum o_i=n\),然后我们考虑组合数合并

\[\begin{aligned} &=(\prod (O_i-1)!)(\prod\binom{\sum\limits_{k=i}^n O_k-1}{O_k-1})\\ &=\prod_{i=1}^n(\prod_{\sum_{k=i-1}^n O_k+1}^{\sum_{k=i}^n O_k-1})\\ &=\frac{n!}{\prod_i(\sum_{k=1}^iO_k)} \end{aligned} \]

  • 这统计的是可达生序序列 \(O\) 的排列个数,而这个个数乘随机排列的概率恰好为

\[\frac{n!}{\prod_i(\sum_{k=1}^iO_k)}\cdot\frac{1}{n!}=\prod_i\frac{1}{(\sum_{k=1}^iO_k)} \]

  • 这正好等于原题目,生成序列对应的概率。
  • 其实我们还可以思考,无限长序列,与生成序列的关系。其实证明只考虑序列转排列,是占了 \(\frac{n!}{n^n}\) 的权重

总结

  • 由此,凡是形如,集合,每次删一组,求期望次数的问题,我们都可以转化为枚举排列,算可贡献生成序列的次数乘排列的期望。

直接做本题

  • 假设我们直接做,已经删除了一些数,若 \(v\) 想做贡献,那么所有 \(v\) 的约数,都不能在它之前被删除。所以对于任何情况下选出 \(v\) 以及 \(v\) 约数的概率都是一样的,所以直接累加概率亦是答案

至于本题

  • 我们显然可以枚举排列,考虑每一个数的贡献,它被统计答案,当且仅当在,所有排列中,它的约数中,它排名第一,那概率就是约数个数分之 \(1\)。乘排列个数 \(n!\) 就是总方案数,至于期望在除 \(n!\) 即为答案。最后 \(Min25\) 板子即可。

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

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

相关文章

Zerto 10.0 Update 6 下载 - 适用于本地、混合和多云环境的灾难恢复和数据保护

Zerto 10.0 Update 6 下载 - 适用于本地、混合和多云环境的灾难恢复和数据保护Zerto 10.0 U6 - 适用于本地、混合和多云环境的灾难恢复和数据保护 勒索软件防护、灾难恢复和多云移动性的统一解决方案 请访问原文链接:https://sysin.org/blog/zerto-10/ 查看最新版。原创作品,…

OpenWrt 24.10 OVF:在 ESXi 8.0、Fusion 13 和 Workstation 17 上运行 OpenWrt 的简单方法

OpenWrt 24.10 OVF:在 ESXi 8.0、Fusion 13 和 Workstation 17 上运行 OpenWrt 的简单方法OpenWrt 24.10 OVF:在 ESXi 8.0、Fusion 13 和 Workstation 17 上运行 OpenWrt 的简单方法 OpenWrt 24.10.0 x86_64 OVF 请访问原文链接:https://sysin.org/blog/openwrt-ovf/ 查看最…

SQL Server 2022新功能:将数据库备份到S3兼容的对象存储

SQL Server 2022新功能:将数据库备份到S3兼容的对象存储 本文介绍将S3兼容的对象存储用作数据库备份目标所需的概念、要求和组件。 数据库备份和恢复功能在概念上类似于使用SQL Server备份到Azure Blob存储的URL作为备份设备类型。 要注意的是,不只是amazon S3对象存储,只要…

护眼神器!LightBulb电脑屏幕护眼软件,你值得拥有!

点击上方蓝字关注我 前言 LightBulb是一个免费的护眼软件,它可以帮助我们在晚上或长时间看电脑屏幕时,减少眼睛的不舒服和疲劳。这个软件会随着一天时间的推移,自动调整电脑屏幕的颜色。比如,在白天,它会让屏幕颜色更偏向冷蓝色,就像阳光下的颜色;到了晚上,它会让屏幕颜…

【JWT安全】攻防指南全面梳理

一、简单介绍 JWT(JSON Web Token)是一种用于身份认证和授权的开放标准,它通过在网络应用间传递被加密的JSON数据来安全地传输信息使得身份验证和授权变得更加简单和安全,JWT对于渗透测试人员而言可能是一种非常吸引人的攻击途径,因为它们不仅是让你获得无限访问权限的关键而…

【CodeForces训练记录】Codeforces Round 1003 (Div. 4)

训练情况赛后反思 题面读的有点疑惑,怀疑自己阅读理解不大行了,简单题狂WA,C2二分调半天没出,水平严重退步 A题 最后两个字母 us 换成 i点击查看代码 #include <bits/stdc++.h> // #define int long long #define endl \nusing namespace std;void solve(){string s;…

[流程图/技术调研] drawio : 流程图绘制工具

引言 流程图绘制工具: draw.io 简介urlhttps://www.drawio.com/ (官网首页) https://github.com/jgraph/drawio (github)【官网简介】 drawio 这个项目,是一个可配置的图表/白板可视化应用程序。drawio 是由 JGraph Ltd 和 draw AG 共同拥有和开发的。 在运行这个项目的同时,…

国家中小学智慧教育平台新教材及音频下载神器

点击上方蓝字关注我 前言 国家中小学智慧教育平台是一个专门给老师、孩子们提供学习资源的网站,上面有很多专业的教学视频、课件和教材。不过,这些学习资料都只能在网上看,如果没有网络就连不上了。 而这个下载器的作用就像是一个“搬运工”,它可以把这些网上的视频、课件和…

【牛客训练记录】牛客周赛 Round 80

训练情况赛后反思 玩了一两天发现自己水平直接下降一个档次,简单的C题模拟没写出来 A题 直接判断剩下还能放几个棋子,如果小于零就无法放置,否则直接输出即可点击查看代码 #include <bits/stdc++.h> // #define int long long #define endl \nusing namespace std;voi…

【蓝桥训练记录】第 26 场 蓝桥入门赛

训练情况赛后反思 唐完了,二分没看出来 A题 字母排序点击查看代码 #include <iostream> using namespace std; int main() {cout<<"aekns";return 0; }B题 统计两个字符串中 01 的数量,异或找两个不同的数字的出现次数取最小值,再求和即可点击查看代码…

手把手教你一招永久解决DeepSeek服务器繁忙!

前几天A梦分享过DeepSeek的三种使用方式:移动应用APP、网页版本和本地部署。由于DeepSeek的用户数量庞大,导致请求频次较高,用户常常会遇到"服务器繁忙,请稍后重试"的提示。而选择本地部署则可以避免这种问题,并且支持离线使用。正因如此,官方推荐用户选择本地…