传送门

解题思路

期望$dp$。因为这个是期望步数,所以要倒着推。那么这道题就变得一脸可做了,设$f[i]$表示还有$i$张牌没有收集的期望,那么考虑再抽一张,有$(n-i)/n$的概率抽到抽过的牌,有$i/n$的概率抽到没有抽过的牌。那么转移方程就是: $f[i]=f[i]*\dfrac{(n-i)}{n}+f[i-1]*\dfrac {i}{n}+1 $。但这样是没法继续写的,因为方程两边有同一个未知数,所以移项可得 $f[i]=f[i-1]+\dfrac{n}{i}$。

输出的格式真的6,因为要输出分数,所以要记下来分母和分子,用一个结构体记录,重载一下$+$就行了。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm> using namespace std;
const int MAXN = ;
typedef long long LL; int n,cnt,num;
struct Node{
LL a,b;
Node(LL u=,LL v=) {a=u;b=v;}
friend Node operator+(const Node A,const Node B){
Node ret;ret.a=ret.b=;
ret.a=A.a*B.b+A.b*B.a;
ret.b=A.b*B.b;
LL gcd=__gcd(ret.a,ret.b);
ret.a/=gcd;ret.b/=gcd;
return ret;
}
}f[MAXN]; //f[i]=f[i-1]*i/n+f[i]*(n-i)/n+1
//f[i]=f[i-1]+n/i int main(){
cin>>n;
for(int i=;i<=n;i++)
f[i]=f[i-]+Node(n,i);
if(f[n].b==) printf("%lld",f[n].a);
else{
LL now=f[n].a/f[n].b;
LL fuck=now;
while(fuck) {cnt++;fuck/=;}
for(int i=;i<=cnt;i++) putchar(' ');
printf("%lld\n",f[n].a-now*f[n].b);
if(now) printf("%lld",now);
LL shit=f[n].b;
while(shit) {num++;shit/=;}
for(int i=;i<=num;i++) putchar('-');putchar('\n');
// printf("-\n");
for(int i=;i<=cnt;i++) putchar(' ');
printf("%lld\n",f[n].b);
}
return ;
}

最新文章

  1. ubuntu中pycharm安装激活第二种方法的密钥
  2. ToolTipController 事件触发显示时 避免闪烁的处理方法
  3. Java判断访问设备为手机、微信、PC工具类
  4. 解密程序代写,订制服务qq:928900200
  5. 【bug】Unable to execute dex: Multiple dex files define
  6. Linux下简单的取点阵字模程序
  7. 第七届蓝桥杯javaB组真题解析-凑算式(第三题)
  8. php curl 访问 https站点
  9. java CountDownLatch 使用介绍
  10. Myeclipse修改设置Default VM Arguments
  11. Python_Mix*random模块,time模块,sys模块,os模块
  12. postman+jenkins+newman自动化api接口测试
  13. 根据访问ip的地区跳转到指定地址
  14. 恶意代码分析实战-确认EXE什么时候编译的
  15. JavaScript 浏览器对象模型 (BOM)
  16. Spring 3.0 AOP 之 AOP 术语 (一)
  17. Scala 中的构造器
  18. 获取对象属性值=NPOI EXPORT
  19. case功能菜单选项
  20. arduino八段数码管使用

热门文章

  1. TCP/IP点滴
  2. C#Object与XML文件或二进制文件之间的转化
  3. svn更新的时候断电,下次在更新出现svn: sqlite: database disk image is malformed
  4. 蒟蒻kc的垃圾数列
  5. C++列表初始化是初始化本类自身含有的成员变量,不能直接初始化继承过来的成员变量
  6. 威布尔weibull distribution
  7. PHP算法之转换成小写字母
  8. Trip
  9. 微信小程序传递URL中含有特殊字符
  10. 客户端app支付宝登录接口