题目:https://www.luogu.org/problemnew/show/P1291

水水的经典期望DP;

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

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
ll n,fz[],fm[],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=;
while(x){ret++; x/=;}
return ret;
}
int main()
{
scanf("%lld",&n);
fz[n]=; fm[n]=;
for(ll i=n-;i>=;i--)
{
ll tfm=(n-i)*fm[i+];
ll tfz=(n-i)*fz[i+] + n*fm[i+];
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[],s2=fm[];
if(s2==)
{
printf("%lld",s1); return ;
}
ans=s1/s2,s1%=s2;
w=getlen(s2);
if(ans)w2=getlen(ans);
if(!s1)
{
printf("%lld",ans); return ;
}
if(ans)
// while(w2--) printf(" ");//把 w2 减掉了!!!
for(int i=;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 ;
}

最新文章

  1. jsp页面无法解析EL表达式
  2. mysql - 缺失范围和连续范围
  3. 异步编程 z
  4. 一个SharePoint定时器 (SPJobDefinition)
  5. 如何在Win10下设置图片的浏览方式为windows照片查看器
  6. 项目上线与LOG记录
  7. Spring IOC 三种注入方式
  8. C#打包制作安装程序过程全记录
  9. C#中的virtual &amp; override
  10. 补充:学会Twitter Bootstrap不再难
  11. Code generated using the T4 templates for Database First
  12. regsvr32 命令小集注册OCX控件,注册控件(包括十几个举例)
  13. [css]《css揭秘》学习(四)-一个元素实现内圆角边框
  14. Unity 3D Framework Designing(2)——使用中介者模式解耦ViewModel之间通信
  15. 【原创】大数据基础之Logstash(4)高可用
  16. ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开ORACLE企业管理器(EM)的解决办法
  17. IKAnalyzer 添加扩展词库和自定义词
  18. python3 判断大小端的一种方法
  19. 序列化人人网框架下的DAO?也就是在Spring下序列化DAO的问题(spring+quartz集群下)
  20. Flask 使用富文本输入框

热门文章

  1. Python之游戏开发-飞机大战
  2. 关于Python构建微服务的思考(一)
  3. LeetCode(63)Unique Paths II
  4. 贪心 Radar Installation (求最少探测雷达)
  5. vscode调试angular2
  6. hadoop_exporter+prometheus
  7. Java面向对象学习-----类的成员变量
  8. Android SwipeSelector
  9. BestCoder Round #29 GTY&#39;s gay friends
  10. Elasticsearch5.6搭建及拼音中文混合搜索实现