题目链接: Lightoj  1038 - Race to 1 Again 题目描述: 给出一个数D,每次可以选择数D的一个因子,用数D除上这个因子得到一个新的数D,为数D变为1的操作次数的期望为多少? 解题思路: 概率DP咯,对于只知道期望是:E(X) = X1*p(X1) + X2*p(X2) + …… + Xn*p(Xn)的窝,拿这个题目没有一点办法.然后看了讨论版,发现总会有一些神人存在. 求操作次数的期望时,先设定第i个因子给期望的贡献为Ti,那么有:E = (T1 + T2 + T3…
题目链接:https://vjudge.net/problem/LightOJ-1038 1038 - Race to 1 Again    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Rimi learned a new thing about integers, which is - any positive integer greater than 1 can be divided b…
题意:给定一个数 n,然后每次除以他的一个因数,如果除到1则结束,问期望是多少. 析:概率DP,可以用记忆公搜索来做,dp[i] = 1/m*sum(dp[j] + 1) + 1/m * (dp[i] + 1)  ==> dp[i] = (sum(dp[j]) + m) / (m-1).其中m是因数个数. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #i…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1038 题意是:给你一个N (1 ≤ N ≤ 105) 每次N都随机选一个因子d,然后让N=N/d, 求N变成1的次数的期望: 当 N = 2 时 2有两个因子:1,2 E[2] = E[1]/2 + E[2]/2 + 1;因此可以求出E[2]; 当N = 8 时 8有4个因子1 2 4 8; E[8] = E[1]/4 + E[2]/4 + E[4]/4 + E[8]/4+ 1;因此…
题目:戳这里 题意:一个数字n不断迭代地除以自身的因子得到1.求这个过程中操作除法次数的期望. 解题思路: 求概率基本都是从一个最基础的状态开始延伸推出公式,得出答案.因为每个数都有个共同的最终状态1,所以我们从1向n推(注意用到期望的可加性,可加性不需要事件相互独立.可以推出期望公式:E=1/n * 1 + (n - 1)/n *(1 + E1 + ... + En)Ei表示D除以一个除数后值为Di时,Di的期望.(第一道自己ac的该类型题目,记录一下 附ac代码: 1 #include <b…
https://vjudge.net/problem/LightOJ-1038 题意:给出一个数n,每次选择n的一个约数m,n=n/m,直到n=1,求次数的期望. 思路:d[i]表示将i这个数变成1的次数期望. 现在对于D来说,d[D]=1/cnt*{(d[D/1]+1)+(d[D/x1]+1)+(d[D/x2]+1)....+(D[D/D]+1)} 化简得 d[D]=1/(cnt-1)*(d[D/1]+d[D/x1]+...d[D/D]+cnt) #include<iostream> #in…
题目大意:给出一个数,要求你按一定的规则将这个数变成1 规则例如以下,如果该数为D,要求你在[1,D]之间选出D的因子.用D除上这个因子,然后继续按该规则运算.直到该数变成1 问变成1的期望步数是多少 解题思路:递推,设该数为D.有N个因子,各自是1,n1,n2,n3-nn-2,D, 那么选到每一个因子的概率都是1/N,除非选到D,不然选到其它因子的话都要多1步.然后再计算D除以该因子的期望 这就能得到公式了,设dp[D]为数D按规则变成1的期望步数 那么dp[D] = 1/N * (dp[D/…
题意:给一个数,用这个数的因数除以这个数,直到为1时,求除的次数的期望. 设一个数的约数有M个,E[n] = (E[a[1]]+1)/M+(E[a[2]]+1)/M+...+(E[a[M]]+1)/M 一个数最大的约数是它自己. 则有,E[n] = (E[a[1]]+1)/M+(E[a[2]]+1)/M+...+(n+1)/M (M-1)*E[n]=E[a[1]]+E[a[2]]+...+E[a[M-1]]+M #include<stdio.h> #include<math.h>…
题面: Last night you robbed a bank but couldn't escape and when you just got outside today, the police started chasing you. The city, where you live in, consists of some junctions which are connected by some bidirectional roads. 题意: 没读懂,还是看了其他人的博客~~~ 就…
Race to 1 Again LightOJ - 1038 题意:有一个数字D,每次把D变为它的一个因数(变到所有因数的概率相等,可能是本身),变到1后停止.求对于某个初始的D变到1的期望步数. x的因子有p[1],...,p[k] 那么ans[x]=1/k*(ans[p[1]]+1)+...+1/k*(ans[p[k]]+1)=1/k*(ans[p[1]]+...+ans[p[k-1]])+1/k*ans[p[k]]+1(k-1)/k*ans[x]=1/k*(ans[p[1]]+...+an…
传送门:http://www.lightoj.com/volume_showproblem.php?problem=1030 Discovering Gold Time Limit: 2 second(s) Memory Limit: 32 MB Program Description You are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell of the cave can con…
题目链接:LightOJ - 1248 Description Given a dice with n sides, you have to find the expected number of times you have to throw that dice to see all its faces at least once. Assume that the dice is fair, that means when you throw the dice, the probability…
题目链接:LightOJ - 1030 Description You are in a cave, a long cave! The cave can be represented by a \(1 \times N\) grid. Each cell of the cave can contain any amount of gold. Initially you are in position \(1\). Now each turn you throw a perfect \(6\) s…
1419: Red is good Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 660  Solved: 257[Submit][Status][Discuss] Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. Input 一行输入两个数R,B,其值在0到5000之间 Output 在最优策略下平均能得到多少钱…
[NOIP2016]换教室 D1 T3 Description 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 i ( 1≤ i≤n)个时同段上, 两节内容相同的课程同时在不同的地点进行, 其中, 牛牛预先被安排在教室 ci上课, 而另一节课程在教室 di进行. 在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的n节安排好的课程.如果学生想更换第i节课程的教室,则需要提出中情.若申请通过,学生…
题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片.求需要买多少包才能拿到所以的N张卡片,求次数的期望. 析:期望DP,是很容易看出来的,然后由于得到每张卡片的状态不知道,所以用状态压缩,dp[i] 表示这个状态时,要全部收齐卡片的期望. 由于有可能是什么也没有,所以我们要特殊判断一下.然后就和剩下的就简单了. 另一个方法就是状态压缩+容斥,同样每个状态表示收集的状态,由于每张卡都是独立,所以,每个卡片的期望就是1.0/p,然后要做的就是要去重,既然…
4008: [HNOI2015]亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special JudgeSubmit: 832  Solved: 515[Submit][Status][Discuss] Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个…
BZOJ3450 概率期望DP f[i]表示到i的期望得分,g[i]表示到i的期望长度. 分三种情况转移: ① s[i]=‘x’:f[i]=f[i-1],g[i]=0 ② s[i]=‘o’:f[i]=f[i-1]+2*g[i-1]+1,g[i]=g[i-1]+1 ③ s[i]=‘?’:f[i]=f[i-1]+g[i-1]+0.5,g[i]=(g[i-1]+1)/2 然后4318比上一个稍难一点,变形一下 (x+1)^3-x^3=3x^2+3x+1 x为之前的期望长度 递推式包含平方项,平方的期望…
期望DP算是第一题吧...虽然巨水但把思路理理清楚总是好的.. 题意:在一个1×n的格子上掷色子,从0点出发,掷了多少前进几步,同时有些格点直接相连,即若a,b相连,当落到a点时直接飞向b点.求走到n或超出n期望掷色子次数 SOL: 期望DP还是显然的,从后往前推也是显然的——这个题目能比较好地理解为什么要从后往前推.概率DP每个状态都在当前已知的概率下推出——最基本事件的概率往往都是已知的,而期望不同,从头开始,头的期望步数是根本不可知的,一旦遇上不可行状态极难处理,而从后往前推,最后一个状态…
题意: 有n种选择,每种选择对应m种状态.每种选择发生的概率相等,每种选择中对应的每种状态发生的概率相等. 求n种选择和m种状态中每种至少发生一次的期望. 期望DP好别扭啊.要用倒推的方法. dp[i][j]表示已经发生了i种选择,j种状态. 那么由dp[n][m]这个时刻到最终时刻的期望是0. 而我们的起始时刻是dp[0][0]. 而dp[i][j]可以转移到四种情况, 1 dp[i][j]本身 2 dp[i+1][j] 3 dp[i][j+1] 4 dp[i+1][j+1] 那么dp[i][…
Domination Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3822 Description Edward is the headmaster of Marjar University. He is enthusiastic about chess and often plays chess with his friends.…
Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stuff, he collects software bugs. When Ivan gets a new program, he classifies all possible bugs into n categories. Each day he discovers exac…
一般的期望dp是, dp[i] = dp[j] * p[j] + 1; 即走到下一步需要1的时间,然后加上 下一步走到目标的期望*这一步走到下一步的概率 这一题,我们将联通分块缩为一个点,因为联通块都是安全的 dp[u][s] 为当前在u,走过的联通块为s的期望天数 那么走到剩下没有走过的连通块的概率是   (n-have)/(n-1),  那么平均需要的时间是  (n-1)/(n-have), 走到下一个没有走过的连通块的概率为cnt[i] / (n-have) 所以dp[u][s] = (n…
一直不明白为什么概率是正推,期望是逆推. 现在题目做多了,慢慢好像有点明白了 poj2096 收集bug,  有n个种类的bug,和s个子系统.  每找到一个bug需要一天. 要我我们求找到n个种类的bug,且在每个系统中都找到一个bug的期望天数 设dp[i][j] 为找到i个种类的bug和在j个系统中找到bug后,还需要的期望天数 那么dp[n][s] 肯定是0,而dp[0][0]是我们要求的. 这也就是为什么期望是要逆推. 还有一点就是这一状态的期望会等于   所有(下一状态的的期望*这一…
Problem Puzzles 题目大意 给一棵树,dfs时随机等概率选择走子树,求期望时间戳. Solution 一个非常简单的树形dp?期望dp.推导出来转移式就非常简单了. 在经过分析以后,我们发现期望时间戳其实只需要考虑自己父亲下来(步数加一)&从兄弟回来两种可能. 设size[i]为i节点子树大小(包括自身) 对于兄弟的情况,i节点的一个兄弟有1/2的可能已经被遍历完毕了,也就是步数加size该兄弟. 于是设ans[i]为到达i点的期望值,则 ans[i]=ans[Father i]+…
[总览] 高斯消元基本思想是将方程式的系数和常数化为矩阵,通过将矩阵通过行变换成为阶梯状(三角形),然后从小往上逐一求解. 如:$3X_1 + 2X_2 + 1X_3 = 3$ $              X_2 + 2X_3 = 1$ $2X_1 + X_3 = 0$ 化为矩阵为:--->----->-----> 然后就可以通过最后一行直接求出$X_3 = ...$,将其带回第二行,算出$X_2$,同理算出$X_1$. 代码很好理解: inline void gauss(){ int…
[总览] [期望dp] 求解达到某一目标的期望花费:因为最终的花费无从知晓(不可能从$\infty$推起),所以期望dp需要倒序求解. 设$f[i][j]$表示在$(i, j)$这个状态实现目标的期望值(相当于是差距是多少). 首先$f[n][m] = 0$,在目标状态期望值为0.然后$f = (\sum f' × p) + w $,$f'$为上一状态(距离目标更近的那个,倒序),$p$为从$f$转移到$f'$的概率(则从$f'$转移回$f$的概率也为$p$),w为转移的花费. 最后输出初始位置…
题目背景 NOIP2016 提高组 Day1 T3 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上.在第 i(1≤i≤n)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 ci 上课,而另一节课程在教室 di 进行. 在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的 n 节安排好的课程.如果学生想更换第 i 节课程的教室,则需要提出申请.若申请通过,学…
4872: [Shoi2017]分手是祝愿 题意:n个灯开关游戏,按i后i的约数都改变状态.随机选择一个灯,如果当前最优策略\(\le k\)直接用最优策略.问期望步数\(\cdot n! \mod 1003\) 50% n=k 送分...从大到小选就行了...实际上送了80分... 这个期望DP没想到不应该啊 \(f[i]\)表示还有i步可以结束的期望步数 \[ f[i] = \frac{i}{n} f[i-1] + \frac{n-i}{n}f[i+1] +1 \\ f[i+1] = ...…
Time Limit: 1000 ms   Memory Limit: 256 MB Description  给定一个由且仅由字符 'H' , 'T' 构成的字符串$S$. 给定一个最初为空的字符串$T$ , 每次随机地在$T$的末尾添加 'H' 或者 'T' . 问当$S$为$T$的后缀时, 在末尾添加字符的期望次数. Input 输入只有一行, 一个字符串$S$. Output 输出只有一行, 一个数表示答案. 为了防止运算越界, 你只用将答案对$10^9+7$取模. Sample Inp…