题目传送门

题目大意:

  给出一个n和k,每次操作可以把n等概率的变成自己的某一个因数,(6可以变成1,2,3,6,并且概率相等),问经过k次操作后,期望是多少?

思路:数学和期望dp  好题好题!!

  直接考虑n到因子很难做,所以要研究从n到因子的一些性质。

  如果一个数可以写成,p^c这样的形式,并且p是质数,那么如果把这个数进行上述的操作,他可以变成的形式必然是p^x(0<=x<=c),并且每个数的概率是平均的。

  所以对于这样的数,我们可以得出dp方程,i表示第几次操作,j表示p^j。

  dp[ i + 1 ][ j ] = dp[ i ][ x ] / (  j + 1 );( j <= x );

  但是不是每个数都能写成p^c的形式的,但是每个数都能写成  p1^c1  *  p2 ^c2  ……*pn ^ cn 的形式,所以我们就把一个数拆开,对每一个部分单独算期望,最后相乘,就是原来的期望了。

  好题好题!!

#include<bits/stdc++.h>
const int inf=0x3f3f3f3f;
using namespace std;
typedef long long ll;
const ll p=1e9+;
const int maxn=;
ll inv[maxn];
ll dp[][];
ll c[maxn],m[maxn];
int len;
ll n,k;
void getinv() {
inv[]=;
for(int i=; i<=; i++) {
inv[i]=(p-p/i)*inv[p%i]%p;
}
}
int main() {
cin>>n>>k;
getinv();
ll temp=n;
for(ll i=; i*i<=temp; i++) {
if(temp%i==) {
c[++len]=i;
while(temp%i==) {
temp/=i;
m[len]++;
}
}
}
if(temp!=)
c[++len]=temp,m[len]=; ll ans=;
for(int tep=; tep<=len; tep++) {
memset(dp,,sizeof(dp));
dp[][m[tep]]=;
for(int i=; i<=k; i++) {
for(int j=; j<=m[tep]; j++) {
for(int t=j; t<=m[tep]; t++) {
dp[i][j] = (dp[i][j]+dp[i-][t]*inv[t+]%p)%p;
}
}
} ll tmp=;
ll di=;
for(int j=; j<=m[tep]; j++) {
tmp+=di*dp[k][j]%p;
tmp%=p;
di*=c[tep];
di%=p;
}
ans=(ans*tmp)%p;
}
cout<<ans<<endl;
}

最新文章

  1. ASP.NET Core 中文文档 第五章 测试(5.2)集成测试
  2. 前端打包/自动化构建工具:gulp
  3. MySQL5.7安装过程以及参数和设置说明
  4. Centos7 安装 Nginx
  5. Android ExpandableListView使用+获取SIM卡状态信息
  6. hdu 1853 最小费用流好题 环的问题
  7. 一种基于Qt的可伸缩的全异步C/S架构服务器实现(流浪小狗,六篇,附下载地址)
  8. 框架应用:Spring framework (四) - 事务管理
  9. CentOS 7 yum 安装 MySQL5.7
  10. rw 模板设置
  11. [题解]N 皇后问题总结
  12. LoadRunner 安装汉化后的一些问题
  13. mac上Android环境变量配置
  14. 转:《Javascript模块化编程》
  15. [WinCE] Can&#39;t find P/Invoke DLL sqlceme35.dll
  16. Office 365实现单点登录系列(4)—安装AD FS
  17. openstack指南
  18. 【Visual Studio】切换版本控制工具插件
  19. 数据库 proc编程九
  20. Facebook POP 使用指南

热门文章

  1. IWebBrowser和IE浏览器的行为不一样
  2. ubuntu14.04 使用笔记
  3. opennebula kvm 创建虚拟机错误
  4. CMakefile for Cross-Platform Compling - 1
  5. ubuntu在命令行下同步时间
  6. 获取HTML元素位置--js学习笔记
  7. sed陷阱
  8. The Suspects——Asia Kaohsiung 2003
  9. 表单使用clone方法后, 原有select无法生效
  10. intellij idea 15,webstorm 最新注册破解