传送门

刚刚学习期望&概率

我们设数X的期望改变次数为P[X]

如果要求X的期望,很容易想到找x的因子;

可以得到下式

 ,cnt为X因子个数,ai为X的因子

可以这么理解,当因子ai为1时,因为除于1不改变其期望值,上式上边分子部分为1+P[1]+P[x]

不为1时,上部分为p[ai]+1,相当于把状态转换过去,并且期望次数加1

分母为cnt,即为包括1和n的因子个数,因为该点可以由所有因子转化而来
经过化简可得

哈哈,这个时候就是可以用素筛的思想来进行求解。

预处理所有p[i]

第一次自己推出来,开心

#include<stdio.h>
#include<string.h>
#include<string>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<set>
#include<stack>
#include<vector>
#include<map>
#include<queue>
#include<functional>
#pragma comment (linker,"/STACK:102400000,102400000")
#define myself i,l,r
#define lson i<<1
#define rson i<<1|1
#define Lson i<<1,l,mid
#define Rson i<<1|1,mid+1,r
#define half (l+r)/2
#define lowbit(x) x&(-x)
#define min4(a,b,c,d) min(min(a,b),min(c,d))
#define min3(x,y,z) min(min(x,y),min(y,z))
#define max4(a,b,c,d) max(max(a,b),max(c,d))
#define max3(x,y,z) max(max(x,y),max(y,z))
#define pii make_pair
#define pr pair<int,int>
typedef long long ll;
typedef unsigned long long ull;
const int inff=0x3f3f3f3f;
const long long inFF=9223372036854775807;
const int dir[4][2]={0,1,0,-1,1,0,-1,0};
const double eqs=1e-9;
const double E=2.718281828459;
const double pi=acos(-1.0);
const int maxn=1e5+5;
const int mod=1e9+7;
using namespace std;
double p[maxn];
int cnt[maxn];
void init()
{p[1]=0;for(int i=2;i<maxn;i++){p[i]=(p[i]+cnt[i]+2)/(cnt[i]+1);for(int j=2*i;j<maxn;j+=i)p[j]+=p[i],cnt[j]++;}
}
int main()
{int t,n,cas=0;init();cin>>t;while(t--){cin>>n;printf("Case %d: %.7f\n",++cas,p[n]);}return 0;
}

AC代码:

LightOJ - 1038 Race to 1 Again 基础期望概率 dp相关推荐

  1. 期望/概率dp 学习报告

    期望dp 期望的基本性质 离散型随机变量和连续型随机变量 例题1:红包发红包 期望的基本运算性质 例题2:Little Pony and Expected Maximum 期望的一些经典题型 图上期望 ...

  2. 【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp

    打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并 ...

  3. luoguP4206 [NOI2005]聪聪与可可 期望概率DP

    首先,分析一下这个猫和鼠 猫每局都可以追老鼠一步或者两步,但是除了最后的一步,肯定走两步快些.... 既然猫走的步数总是比老鼠多,那么它们的距离在逐渐缩小(如果这题只能走一步反而不能做了...) 猫不 ...

  4. bzoj3470 Freda's Walk (期望概率DP)

    bzoj3470 Freda's Walk 原题地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3470 题意: 有向无环图,求从点0出发,走到一 ...

  5. 【LOJ6178】 「美团 CodeM 初赛 Round B」景区路线规划 期望概率DP

    题目链接 LOJ 题解 考虑进行Dp,我们设 f[i][j] f [ i ] [ j ] f[i][j]表示到达节点 i i i消耗了j" role="presentation&q ...

  6. BZOJ4008. [HNOI2015]亚瑟王 期望概率dp

    看到这道题想什么? 一个好转移的状态由于T最多444所以把每个点控制在O(400000)以内,所以对于n和r最多乘一次因此猜f[n][r],f[r][n],首先一轮一轮的搞不好转移,那么先想一想f[n ...

  7. UvaLive6441(期望概率dp)

    1.涉及负数时同时维护最大和最小,互相转移. 2.考场上最大最小混搭转移WA,赛后发现如果是小的搭小的,大的搭大的就可过,类似这种: db a = (C[i] - W[i]) * dp1[i - 1] ...

  8. [USACO Hol10] 臭气弹 图上期望概率dp 高斯

    记住一开始和后来的经过是两个事件因此概率可以大于一 #include<cstdio> #include<iostream> #include<cstdlib> #i ...

  9. Collecting Bugs POJ - 2096(基础概率dp+期望模板)

    题意: 有s个系统,n种bug,小明每天找出一个bug,可能是任意一个系统的,可能是任意一种bug,即是某一系统的bug概率是1/s,是某一种bug概率是1/n. 求他找到s个系统的bug,n种bug ...

最新文章

  1. 爬虫之requests模块中cookies参数的使用
  2. java文件上传_Java文件上传细讲
  3. 征途堆积出友情的永恒「堆优化dp」
  4. MVC路由学习:自定义路由参数(用户看不到参数名),重新定义路由规则
  5. android3D动画,绕y轴旋转
  6. ElasticSearch经验小结 (Based on 5.x)
  7. 起II6.0中使用windows2003自带的虚拟主机管理系统
  8. matlab fullbnt,Matlab2010下使用FULLBNT工具箱建立复杂的动态贝叶斯网络
  9. Sketch 插件篇(1)——Sketch Measure
  10. 使用VS+QT问题小结
  11. JS拉起支付宝,并加好友
  12. 酷炫的终端模拟器eDEX-UI
  13. Oracle bpm实现oa,Oracle BPM/SOA API 操作流程
  14. 【opencv初学者】2、视频的读取
  15. 乔布斯在困境中的关键一战
  16. iphone 12屏幕材质 iPhone12尺寸多大
  17. 双系统下grub引导windows系统
  18. 计算机的kb代表着什么,计算机中KB与Kb的技术差别详解
  19. SimFAS 可编程物联网中控,会议中控,展厅中控,
  20. aix 查看防火墙状态_AIX防火墙策略

热门文章

  1. Subscriber class xxx ,xx already registered to event
  2. getCacheDir() 和 getFilesDir() 的区别
  3. Android Studio – Cannot resolve symbol ‘R’
  4. 基于uFUN开发板的心率计(一)DMA方式获取传感器数据
  5. idea(3)-jetty配置
  6. 20190226-利用序列化完成小型记账程序
  7. linux epoll用法
  8. C语言计算e1 1/1! 1/2!,c语言程序填空 下面程序是计算sum=1+(1+1/2)+(1+1/2+1/3)+…(1+1/2...
  9. java 过滤器Filter
  10. shellinabox安装