CF1139D Steps to One
题目链接:洛谷
这个公式可真是个好东西。(哪位大佬知道它叫什么名字的?)
如果$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)$
#include<cstdio>
#define Rint register int
using namespace std;
typedef long long LL;
const int N = , mod = 1e9 + ;
inline int add(int a, int b){int res = a + b; if(res >= mod) res -= mod; return res;}
inline int dec(int a, int b){int res = a - b; if(res < ) res += mod; return res;}
int n, mu[N], pri[N], tot, inv[N], ans, tmp;
bool notp[N];
int main(){
scanf("%d", &n);
inv[] = ;
for(Rint i = ;i <= n;i ++) inv[i] = (LL) (mod - mod / i) * inv[mod % i] % mod;
notp[] = notp[] = true;
mu[] = ;
for(Rint i = ;i <= n;i ++){
if(!notp[i]){mu[i] = mod - ; pri[++ tot] = i;}
for(Rint j = ;j <= tot && i * pri[j] <= n;j ++){
notp[i * pri[j]] = true;
if(i % pri[j]) mu[i * pri[j]] = mod - mu[i];
else break;
}
}
for(Rint i = ;i <= n;i ++){
tmp = n / i;
ans = add(ans, (LL) mu[i] * tmp % mod * inv[n - tmp] % mod);
}
printf("%d", dec(, ans));
}
CF1139D
CF1139D Steps to One的更多相关文章
- 题解-CF1139D Steps to One
题面 CF1139D Steps to One 一个数列,每次随机选一个 \([1,m]\) 之间的数加在数列末尾,数列中所有数的 \(\gcd=1\) 时停止,求期望长度 \(\bmod 10^9+ ...
- cf1139D. Steps to One(dp)
题意 题目链接 从\([1, M]\)中随机选数,问使得所有数gcd=1的期望步数 Sol 一个很显然的思路是设\(f[i]\)表示当前数为\(i\),期望的操作轮数,转移的时候直接枚举gcd \(f ...
- CF1139D Steps to One(DP,莫比乌斯反演,质因数分解)
stm这是div2的D题……我要对不住我这个紫名了…… 题目链接:CF原网 洛谷 题目大意:有个一开始为空的序列.每次操作会往序列最后加一个 $1$ 到 $m$ 的随机整数.当整个序列的 $\gcd ...
- CF1139D Steps to One (莫比乌斯反演 期望dp)
\[ f[1] = 0 \] \[ f[i] = 1 + \frac{1}{m} \sum_{j = 1} ^ n f[gcd(i, j)] \ \ \ \ \ \ (i != 1) \] 然后发现后 ...
- CF1139D Steps to One 题解【莫比乌斯反演】【枚举】【DP】
反演套 DP 的好题(不用反演貌似也能做 Description Vivek initially has an empty array \(a\) and some integer constant ...
- 【期望dp 质因数分解】cf1139D. Steps to One
有一种组合方向的考虑有没有dalao肯高抬啊? 题目大意 有一个初始为空的数组$a$,按照以下的流程进行操作: 在$1\cdots m$中等概率选出一个数$x$并添加到$a$的末尾 如果$a$中所有元 ...
- 【CF1139D】Steps to One(动态规划)
[CF1139D]Steps to One(动态规划) 题面 CF 你有一个数组,每次随机加入一个\([1,n]\)的数,当所有数\(gcd\)为\(1\)时停止,求数组长度的期望. 题解 设\(f[ ...
- animation-timing-function: steps() 详解
在应用 CSS3 渐变/动画时,有个控制时间的属性 <animation-timing-function> .它的取值中除了常用到的 贝萨尔曲线以外,还有个让人比较困惑的 steps() ...
- CSS3 Animation 帧动画 steps()
@keyframes fn{ 0%{} 100%{} } CSS3的Animation有八个属性 animation-name :动画名 fn animation-duration:时间 1s ani ...
随机推荐
- 【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch(ELK)
ambari2.7.3(hdp3.1) 安装 elasticsearch6.3.2 ambari的hdp中原生不支持elasticsearch安装,下面介绍如何通过mpack方式使ambari支持el ...
- Java是解释型还是编译型语言?
有人说Java是编译型的.因为所有的Java代码都是要编译的,.java不经过编译就无法执行. 也有人说Java是解释型的.因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型 ...
- C#生成唯一值的方法汇总
生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: https://www.cnblogs.com/xinweichen/p/4287640 ...
- Git permission denied(public key) 解决方法
1. 在Linux上: # ssh-keygen ##一定用 id_rsa.pub # cat /root/.ssh/id_rsa.pub 2. copy 整个文件内容到剪切板 3. 打开 ...
- Hadoop开启后jps显示只有jps
之前在用Mapreduce写代码时,在DFS Location下的会报一个error,大体的意思就是与主机名相关的错误 然后我就觉得可能时Hadoop开启时出了错误,然后我就重启了Hadoop,jps ...
- Django跨域、cookie、session
前后台分离开发 1.前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与跳转 2.后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口) 跨域 什么是跨域? 通常情况下,A网页访问 ...
- python基础一 ------排序和查找算法
插入排序; 假设数组长度为n,先从第二个元素开始,与前一个元素比较,之后将较小的元素 放在前面,现在前两个元素是有顺序的,这时取第三个元素,与前一个元素(也就是第二个)比较,较小的放在前面 ...
- windows 2008下IIS7 安装ASP.NET 遇到500.19
windows 2008下IIS7 安装ASP.NET 遇到如下错误: HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. ...
- <iframe>和<frame>区别
1.frame不能脱离frameSet单独使用,iframe可以 2.frame不能放在body中,否则不能正常显示 frame不能和body同时使用 <!--<body>--> ...
- SpringCloud中之Ribbon实现负载均衡
之前都不能够理解负载均衡,不知道其怎么实现.现在学习了ribbon后,知道了可以开启多个服务实例,那么选择其中一个服务实例的策略就是负载均衡了,感觉还是很神奇的.