题目传送门 题目大意: 给出一个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[…
题意:输入一个数N,N每次被它的任意一个因数所除 变成新的N 这样一直除下去 直到 N变为1 求变成1所期望的次数 解析: d[i] 代表从i除到1的期望步数:那么假设i一共有c个因子(包括1和本身) d[i] = ( d[1] + d[a2] + d[a3] + d[a4] ..... + d[i] + c) / c; (加c是因为每一个期望值都会加1,因为多出一步才变成它(即第一次从i到它的因子的那一步)) 把右边的dp[i] 移到左边 化简得 dp[i] =  ( d[1] + d[a2]…
[BZOJ4872][Shoi2017]分手是祝愿 Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态,下标为从 1 到 n 的正整数.每个灯有两个状态亮和灭,我们用 1 来表示这个灯是亮的,用 0 表示这个灯是灭的,游戏的目标是使所有灯都灭掉.但是当操作第 i 个开关时,所有编号为 i 的约数(包括 1 和 i)的灯的状态都会被改变,即从亮变成灭…
Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所以皮皮购买第k 张邮票需要支付k元钱.现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望. Input 一行,一个数字N,  N<=10000 Output 要付出多少钱. 保留二位小数 题解: 挺神的一道期望 $DP$. 令 $f_{i}$ 表示已经有 $…
正题 题目链接:https://www.luogu.com.cn/problem/CF708E 题目大意 有\(n*m\)的矩形网格,然后每次每行最左边和最右边的格子各有\(p=\frac{c}{d}\)的概率会消失,进行\(k\)次. 求最后所有格子依旧四联通的概率,在\(\%(10^9+7)\)的情况下进行 \(1\leq n,m\leq 1500,1\leq k\leq 10^5\) 解题思路 \(n,m\)很小,感觉上不是一个暴力计数的题目. 可以考虑一个比较慢的方法先,先考虑一个方向腐…
大意: $n$行$m$列砖, 白天左侧边界每块砖有$p$概率被摧毁, 晚上右侧边界有$p$概率被摧毁, 求最后上下边界连通的概率. 记${dp}_{i,l,r}$为遍历到第$t$行时, 第$t$行砖块范围$[l,r]$的概率. 有${dp}_{i,l,r}=p_{l,r}\sum {dp}_{i-1,l',r'}$ (要满足$[l',r']$与$[l,r]$相交) $p_{l,r}$表示$k$天后剩余砖是$[l,r]$的概率. 考虑二维前缀优化, 记$f_{i,l,r}=\sum\limits_…
麻麻我会做*3100的计数了,我出息了 考虑朴素DP我们怎么做呢. 设\(f_{i,l,r}\)为第\(i\)层选择\(l,r\)的依旧不倒的概率. \(q(l,r)\)表示经历了\(k\)天后,存活下来的区间为\([l,r]\)的概率. 发现其可以转为前缀后缀形式. 即前缀删掉了\(l - 1\)个,后缀删了\(m - r\)个. 而删掉的过程是独立的. 那么删掉\(i\)个的概率为\(d(i)\) 显然有\(d(i) = \binom{i}{k}p^{i} \times ({1 - p})^…
题目链接 大意 给出一个序列,当你在某个点时,有一个向右走的概率\(P_i\)(向左为\(1-P_i\)), 给出\(M\)个操作,操作有两类: 1 X Y Z:把\(P_X\)的值修改为\(\frac{Y}{Z}\) 2 L R:询问你从\(L\)出发,随机游走,在不经过\(L-1\)的情况下到达\(R+1\)的概率 思路 我们对于一个区间设有两个值\(ValL,ValR\), 分别表示从这段区间的左端点出发能赢的概率与从它的右端点出发能赢的概率. 即我们要求的是任意区间的\(ValL\).…
数学期望dp,题面第一次见很吓人,然而从CCF语翻译成人话就简单多了, 开始一般会想到用 f [ i ] [ j ]表示前 i 个课程申请 j 次的期望,然而其实会发现转移的时候还和上一次的情况有关(有某概率取上一次某种情况) 所以用 f [ i ] [ j ] [ 0/1 ]记录这次申请与否,然后枚举每种情况用概率乘一下即可 #include<iostream> #include<cstdio> #include<cstring> #include<algori…
[CF708E]Student's Camp 题意:有一个n*m的网格,每一秒钟,所有左面没有格子的格子会有p的概率消失,右面没有格子的格子也会有p的概率消失,问你t秒钟后,整个网格的上边界和下边界仍然连通的概率是多少. $n,m\le 1500,t\le 10^6$. 题解:首先我们可以预处理出c数组,c[i]表示t秒钟后左边恰有i个格子消失的概率,这个用组合数算一算即可.又因为每一行的本质是相同的,所以令某一行最终剩下的格子是[l,r]的概率就是c[l-1]*c[m-r]. 然后考虑一个na…