博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P1291 [SHOI2002]百事世界杯之旅——期望DP
阅读量:5304 次
发布时间:2019-06-14

本文共 1150 字,大约阅读时间需要 3 分钟。

题目:

水水的经典期望DP;

输出有毒。(其实也很简单啦)

代码如下:

#include
#include
#include
using namespace std;typedef long long ll;ll n,fz[35],fm[35],s1,s2,ans,w,w2;//double f[35];ll gcd(ll x,ll y){
return x%y?gcd(y,x%y):y;}ll getlen(ll x){ ll ret=0; while(x){ret++; x/=10;} return ret;}int main(){ scanf("%lld",&n); fz[n]=0; fm[n]=1; for(ll i=n-1;i>=0;i--) { ll tfm=(n-i)*fm[i+1]; ll tfz=(n-i)*fz[i+1] + n*fm[i+1]; ll k=gcd(tfz,tfm); fz[i]=tfz/k; fm[i]=tfm/k; }// for(ll i=n-1;i>=0;i--)// f[i]=f[i+1]+n/(n-i);// printf("%lf",f[0]); s1=fz[0],s2=fm[0]; if(s2==1) { printf("%lld",s1); return 0; } ans=s1/s2,s1%=s2; w=getlen(s2); if(ans)w2=getlen(ans); if(!s1) { printf("%lld",ans); return 0; } if(ans) // while(w2--) printf(" ");//把 w2 减掉了!!! for(int i=1;i<=w2;i++) printf(" "); printf("%lld\n",s1); if(ans)printf("%lld",ans); while(w--)printf("-"); printf("\n"); if(ans) while(w2--) printf(" "); printf("%lld",s2); return 0;}

 

转载于:https://www.cnblogs.com/Zinn/p/9205064.html

你可能感兴趣的文章
hdu 3341(ac自动机+状态压缩)
查看>>
51单片机之蓝牙遥控小车_效果展示+单片机知识+完整蓝牙电车代码
查看>>
Sql Server中REPLACE函数的使用
查看>>
SqlServerl的行转列
查看>>
JavaScript跨域总结与解决办法
查看>>
Hover功能
查看>>
[LeetCode] Jump Game II
查看>>
js千分位处理
查看>>
js常用的方法
查看>>
Mac---------三指拖移
查看>>
关于VMare中安装Ubuntu的一些说明
查看>>
七、K3 WISE 开发插件《工业单据老单插件中获取登陆用户名》
查看>>
字符串类型的相互转换
查看>>
图片编辑的利器(介绍韩国免费图片工具PhotoScape)
查看>>
Python基础第十一天:递归函数
查看>>
钉钉机器人
查看>>
博雅PHP高级工程师面试题-自拟
查看>>
SQL SERVER 查看表是否存在
查看>>
关于easyUI实现自定义网格视图
查看>>
JAVA小知识点-Finally和Return的执行关系
查看>>