题目链接:洛谷


这个公式可真是个好东西。(哪位大佬知道它叫什么名字的?)

如果$X$恒$\geq 0$,那么

$$E[X]=\int_0^{+\infty}P(X>t)dt$$

呸,我什么都没写。

如果$X\in N$,那么

$$E[X]=\sum_{i=0}^{+\infty}P(X>i)$$


根据上面的公式,我们首先看看如何计算$P(X>i)$

这个表示前$i$个数的$gcd$不为1,我们反面考虑,$gcd$为1的概率可以通过莫比乌斯反演求出,所以

$$P(X>i)=1-\sum_{d=1}^m\mu(d)(\frac{\lfloor\frac{m}{d}\rfloor}{m})^i$$

$$=-\sum_{d=2}^m\mu(d)(\frac{\lfloor\frac{m}{d}\rfloor}{m})^i$$

带入上面的公式。

$$E[X]=\sum_{i=1}^{+\infty}P(x>i)+1$$

$$=1-\sum_{i=1}^{+\infty}\sum_{d=2}^m\mu(d)(\frac{\lfloor\frac{m}{d}\rfloor}{m})^i$$

$$=1-\sum_{d=2}^{m}\mu(d)\sum_{i=1}^{+\infty}(\frac{\lfloor\frac{m}{d}\rfloor}{m})^i$$

$$=1-\sum_{d=2}^m\mu(d)\frac{\lfloor\frac{m}{d}\rfloor}{m-\lfloor\frac{m}{d}\rfloor}$$

预处理$\mu$和$inv$之后,时间复杂度$O(m)$

 1 #include<cstdio>
 2 #define Rint register int
 3 using namespace std;
 4 typedef long long LL;
 5 const int N = 100003, mod = 1e9 + 7;
 6 inline int add(int a, int b){int res = a + b; if(res >= mod) res -= mod; return res;}
 7 inline int dec(int a, int b){int res = a - b; if(res < 0) res += mod; return res;}
 8 int n, mu[N], pri[N], tot, inv[N], ans, tmp;
 9 bool notp[N];
10 int main(){
11     scanf("%d", &n);
12     inv[1] = 1;
13     for(Rint i = 2;i <= n;i ++) inv[i] = (LL) (mod - mod / i) * inv[mod % i] % mod;
14     notp[0] = notp[1] = true;
15     mu[1] = 1;
16     for(Rint i = 2;i <= n;i ++){
17         if(!notp[i]){mu[i] = mod - 1; pri[++ tot] = i;}
18         for(Rint j = 1;j <= tot && i * pri[j] <= n;j ++){
19             notp[i * pri[j]] = true;
20             if(i % pri[j]) mu[i * pri[j]] = mod - mu[i];
21             else break;
22         }
23     }
24     for(Rint i = 2;i <= n;i ++){
25         tmp = n / i;
26         ans = add(ans, (LL) mu[i] * tmp % mod * inv[n - tmp] % mod);
27     }
28     printf("%d", dec(1, ans));
29 }

CF1139D

转载于:https://www.cnblogs.com/AThousandMoons/p/10688980.html

CF1139D Steps to One相关推荐

  1. CF1139D Steps to One 题解

    一道莫反好题. 先证个式子:E(X)=∑i≥1P(X≥i)E(X)=\sum_{i\ge 1}P(X \ge i)E(X)=∑i≥1​P(X≥i),也就是最终长度为 XXX 的期望是所有最终长度小于等 ...

  2. (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 一周连考三门,人都没了 Weblink 2021年天梯赛 L3-3 可怜的简单题 CF1139D Pr ...

  3. cf1139D. Steps to One(dp)

    题意 题目链接 从\([1, M]\)中随机选数,问使得所有数gcd=1的期望步数 Sol 一个很显然的思路是设\(f[i]\)表示当前数为\(i\),期望的操作轮数,转移的时候直接枚举gcd \(f ...

  4. 【期望dp 质因数分解】cf1139D. Steps to One

    有一种组合方向的考虑有没有dalao肯高抬啊? 题目大意 有一个初始为空的数组$a$,按照以下的流程进行操作: 在$1\cdots m$中等概率选出一个数$x$并添加到$a$的末尾 如果$a$中所有元 ...

  5. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  6. html常用英文编码大全,HTML常用特殊字符编码对照表以及其对应英文

    Memcached基础知识 主要内容: Memcached基本的工作原理 Memcached的两阶段哈希 Memcached的数据存储方式 Memcached新建Item分配内存过程 Memcache ...

  7. 【GPLT】【2021天梯赛真题题解】【231分】

    文章目录 L1-1 人与神 (5 分) 题目描述 题目分析 L1-2 两小时学完C语言 (5 分) 题目描述 题目分析 L1-3 强迫症 (10 分) 题目描述 题目分析 L1-4 降价提醒机器人 ( ...

  8. 【每日一题】Steps to One (容斥+错位相减)cf1139D

    题目链接 前置推论: 1.长度为1的序列只可能是一个1. 2.假设当前的序列长度为 k + 1 k+1 k+1,且前 k k k个数的 g c d = a gcd=a gcd=a不为1的话,那么第 k ...

  9. SAP QM Basic Steps to Create Dynamic Modification Rule

    Basic Steps to Create Dynamic Modification Rule Process: Quality Management –> Inspection Plannin ...

  10. [练习]利用CSS steps 实现逐帧动画

    网页逐帧动画的实现方式 网页中的逐帧动画,大致可分为两大类的实现方式, 分别是使用JS控制,和单纯使用CSS实现,两者的优劣总体概括来说就是: JS动画可控性更强,但开销大,实现复杂. CSS动画实现 ...

最新文章

  1. Linux如何配置Swap分区
  2. UA MATH575B 数值分析下II 牛顿算法
  3. Java的TreeMap统计单词数量
  4. Makefile(直接可以使用)
  5. webService学习4:客户端调用服务端的代码
  6. MAC下搭建java的开发环境
  7. Dotnet Core应用跨框架版本运行
  8. 隐藏该监视器无法显示模式_【春星开讲 | 9137】达芬奇4K调色监看的好伙伴——明基PD2720U专业显示器...
  9. Python风格总结:翻转列表、数组
  10. jQuery中 trigger() 使用心得
  11. 2020蓝桥杯省赛模拟赛
  12. vue页面引用echart的词云图
  13. 工作效率的提升——如何高效沟通,有效降低沟通成本
  14. JS 获取操作删除节点
  15. 树的序列化——浅谈 dfn 与欧拉序列
  16. 1.1快速创建spring boot
  17. 鹏业安装三维算量软件——批量修改工程量
  18. 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
  19. 服务器系统盘40g是什么,云服务器 40g系统盘
  20. 一点点读懂Thremal(二)

热门文章

  1. python实现不使用额外的空间判断输入数字是否是回文数
  2. 25张图让你读懂神经网络架构
  3. mysql数据库d盘_Windows Server 2008 R2下修改MySQL 5.5数据库目录为D盘
  4. 迷你世界甲龙变身机器人_迷你世界X变形金刚双形态皮肤特效,自带双血条,简直无敌...
  5. element ui 选项卡切换_Vue.js + element-ui 扫盲(服务端对大前端的扫盲)
  6. C++ 构造函数后面有冒号 ~ : ()
  7. 微信小程序云开发教程-微信小程序的API入门-API的类型和语法结构
  8. 吃了核辐射食物怎么办_不瞒你说:经常胃酸烧心怎么办?,多吃这些食物,保护胃黏膜远...
  9. java executor spring_java - Spring TaskExecutor实现 - 堆栈内存溢出
  10. 华为鸿蒙系统再公测,安卓再见!华为正式发布鸿蒙系统公测版!