\[ f[1] = 0 \] \[ f[i] = 1 + \frac{1}{m} \sum_{j = 1} ^ n f[gcd(i, j)] \ \ \ \ \ \ (i != 1) \] 然后发现后面这一块gcd的个数只可能是i的约数, 那么考虑枚举约数 \[ f[i] = 1 + \frac{1}{m}\sum_{d | i} f[d] cnt(d, i) \] \(cnt(d, i)\)表示和[1,m]内与i的gcd为d的数字个数 考虑这个东西能够怎么算, \(cnt(d, i)\)显然…
stm这是div2的D题……我要对不住我这个紫名了…… 题目链接:CF原网  洛谷 题目大意:有个一开始为空的序列.每次操作会往序列最后加一个 $1$ 到 $m$ 的随机整数.当整个序列的 $\gcd$ 为 $1$ 时停止.问这个序列的期望长度对 $10^9+7$ 取模的值. $1\le m\le 10^5$. 首先很容易想到DP:$f_i$ 表示目前的 $\gcd$ 为 $i$,期望还要多少次才能结束. 那么有 $f_1=0$. 转移,直接枚举即可:$f_i=1+\dfrac{1}{m}\su…
反演套 DP 的好题(不用反演貌似也能做 Description Vivek initially has an empty array \(a\) and some integer constant \(m\). He performs the following algorithm: Select a random integer \(x\) uniformly in range from \(1\) to \(m\) and append it to the end of \(a\). Co…
题目链接 啊啊啊我在干什么啊.怎么这么颓一道题做这么久.. 又记错莫比乌斯反演式子了(╯‵□′)╯︵┻━┻ \(Description\) 给定\(n\).有一个初始为空的集合\(S\).令\(g\)表示S中所有数的\(\gcd\).每次随机选择一个\([1,n]\)中的数加到集合\(S\)中去,直到\(g=1\).求集合\(S\)的期望大小.(原题目描述为数列长度,\(n\)是指\(m\),我自己都看混了=-=) \(n\leq10^5\). \(Solution\) 首先不要想\(f[i][…
有一种组合方向的考虑有没有dalao肯高抬啊? 题目大意 有一个初始为空的数组$a$,按照以下的流程进行操作: 在$1\cdots m$中等概率选出一个数$x$并添加到$a$的末尾 如果$a$中所有元素的$\gcd=1$则完成这个数组$a$的修改 重复这一过程 求数组$a$的期望长度,$m \le 10^5,\mod 10^9+7$ 题目分析 质因数分解的期望dp题 以下介绍的两个做法中,第一个做法本人不会所以  求助会做的dalao麻烦高抬一手   : 第二个做法是对推得的dp式子质因数分解求…
蒟蒻数学渣呀,根本不会做. 解法是参考 https://blog.csdn.net/xs18952904/article/details/88785210 这位大佬的. 状态的设计和转移如上面博客一样:dp[i]代表当前序列的gcd为i的期望长度. 那么可以写出状态转移方程:dp[i]=(1+(x/m)∑(j|i,j≠i)dp[j]) / (1-(m/i)/m) (写得有点乱,其实和上面大佬的一样的) 这里要说一下的是 x=∑(t=1,t<=m) [ gcd(t,i)==j ]  就是怎么求1<…
题目链接: http://codeforces.com/contest/1139/problem/D 题意: 在$1$到$m$中选择一个数,加入到一个初始为空的序列中,当序列的$gcd$和为$1$时,停止加入,求序列的期望长度 数据范围: $1 \leq m \leq 10^{9}$ 分析: 定义$f[x$]为$gcd$等于$x$时把序列$gcd和$改变成1的期望长度,定义$G(x,y)$为$i$在1到$n$范围,满足$gcd(x,i)=y$,$i$的数量,得到以下公式: $$f[i]=1+\f…
题目大意: 给你一棵树,树上的点编号为\(1-n\).选两个点\(i.j\),能得到的得分是\(\phi(a_i*a_j)*dis(i,j)\),其中\(dis(i,j)\)表示\(a\)到\(b\)的最短距离.求一次选择能得到的得分的期望 推式子 显然是求\(\frac{1}{n(n-1)} \sum\limits_{i=1}^n \sum\limits_{j=1}^n \phi(i*j)*dis(i,j)\) 有这样一个式子\(\phi(i*j)=\frac{\phi(i)*phi(j)*g…
题目分析: 题目是求$E(MAX_{i=1}^n(ai))$, 它等于$E(\sum_{s \subset S}{(-1)^{|s|-1}*min(s))} = \sum_{s \subset S}{(-1)^{|s|-1}*E(min(s))}$. 那么设计期望DP,令$f[i][j][k]$表示前i个球,可选的区间为j个,球的个数是奇数还是偶数.然后就是要写一个高精度,不一定要真的写,可以yy出一种简便方法. 代码: #include<bits/stdc++.h> using namesp…
题面 CF1139D Steps to One 一个数列,每次随机选一个 \([1,m]\) 之间的数加在数列末尾,数列中所有数的 \(\gcd=1\) 时停止,求期望长度 \(\bmod 10^9+7\). 数据范围:\(1\le m\le 10^5\). 蒟蒻语 这题的非 dp 做法讲得太玄了而且写题解的人貌似不屑于解释,于是蒟蒻来写一篇. (其实是 ubuntu 剪贴板炸了没得记录题目了只好写题解了). 蒟蒻解 先推一波概率期望式(\(E(x)\) 是 \(x\) 的期望,\(P(x)\)…