P1291 [SHOI2002]百事世界杯之旅(概率)
2024-10-14 11:21:55
设$f(n,k)$表示共n个名字,剩下k个名字未收集到,还需购买饮料的平均次数
则有:
$f(n,k)=\frac{n-k}{n}*f(n,k) + \frac{k}{n}*f(n,k+1) +1$
移项整理,可得:
$f(n,k)=f(n,k+1)+\frac{n}{k}$
根据递推式,可得:
$f(n,0)=n\sum_{k=1}^{n}\frac{1}{k}$
蓝后gcd搞搞约分
注意输出
end.
#include<iostream>
#include<cstdio>
#include<cstring>
#define re register
using namespace std;
typedef long long ll;
ll p,q=,g; int n;
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
int wid(ll x){//计算位数
int res=;
for(;x;x/=)++res;
return res;
}
int main(){
scanf("%d",&n);
for(re int i=;i<=n;++i){
p=p*i+q*n; q*=i;
g=gcd(p,q);
p/=g,q/=g;
}g=p/q,p%=q;
//分多种情况输出
if(!p) printf("%lld",g);
else{
for(re int i=wid(g);i>=;--i) putchar(' ');
printf("%lld\n",p);
if(g) printf("%lld",g);
for(re int i=wid(q);i>=;--i) putchar('-');
putchar('\n');
for(re int i=wid(g);i>=;--i) putchar(' ');
printf("%lld",q);
}return ;
}
最新文章
- NVelocity
- Ant OOM的问题
- 使用dom4j解析XML
- isAnimated函数
- HTML JSP Servlet 的 相对路径 绝对路径
- NameValueCollection详解
- ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
- 将OutLook.exe注册为服务,让其一直保持开启状态
- junit测试用例加载spring配置文件
- Python re模块 正则表达式
- C#中结构与类的区别
- 将UTF8编码转化为中文 - NSString方法
- Java调用SQL脚本执行的方案
- Go变量逃逸分析
- ALV编辑数据后未更新到内表
- JAVA中的糕富帅技术——反射(一)
- Python vtk学习(1)
- js 日期格式转换(转载)
- 潭州课堂25班:Ph201805201 第十二课 new方法,定制属性访问,描述符与装饰器 (课堂笔记)
- 如何查看thinkphp版本号?
热门文章
- 使用JS播放声音——SoundManager 2
- Angular基础---->;AngularJS的使用(一)
- Deploying Cloud Foundry on OpenStack Juno and XenServer (Part I)
- Asp SqlDataSource将数据库数据绑定在 GridView
- Android搜索自动提示功能 AutocompleteTextView
- Swift - WebKit示例解读
- Java 中编程的格式
- 【转】B2C电子商务系统设计精选
- SQL---->;mySQl安装for mac
- gitlab-runner ---CI