2017.10.06【NOIP提高组】模拟赛B组 青蛙 题解
来源:互联网 发布:周防尊cos淘宝 编辑:程序博客网 时间:2024/05/21 18:42
传送门
Description
有n片荷叶在池塘上。因为如此这般,有一只年轻的青蛙要在荷叶上跳。它是这样跳的:假如它在第i 号荷叶上,那么它等概率地跳到1 到i 号的荷叶中的一个,跳到1 号荷叶结束。求这只青蛙期望跳多少次结束。
Input
一行,一个整数n,表示青蛙从n 号荷叶开始跳。
Output
一行,一个实数,保留2 位小数。
Sample Input
5
Sample Input2
3
Sample Output
3.08
Sample Output2
2.50
Data Constraint
40% : 1<= n <= 10:
70% : 1 <= n <= 10000:
100% : 1 <= n <= 20000.
Analysis
正解是什么无穷极数,其实大概也就这样吧
设Fi表示从第i号点跳到第1号点的步数期望
用样例来说,我们从5号点开始跳,则:
跳到1号点用 F1=1;
跳到2号点用 F2+1;
跳到3号点用 F3+1;
跳到4号点用 F4+1;
跳到5号点用 F5+1;
又
F5=(F1+F2+1+F3+1+F4+1+F5+1)/5;
解
5F5=4+F1+F2+F3+F4+F5
4F5=4+F1+F2+F3+F4
F5=1+(F1+F2+F3+F4)/4
所以我们可以得出
Fi=1+(F1+F2+…+Fi-1)/(i-1)
且F1=1
那么我们就可以递推得到Fn了
不知道是不是我们这边的数据有问题,反正有个测试点F1=0,所以特判了一下
Realization
#include<bits/stdc++.h>using namespace std;#define fo(i,a,b) for(i=a;i<=b;i++)#define fd(i,a,b) for(i=a;i>=b;i--)#define fin(x) freopen(""#x".in","r",stdin)#define fout(x) freopen(""#x".out","w",stdout)#define open(x) fin(x);fout(x)#define ll long long#define inf INT_MAXint n,i;double ans,f[20001];int main(){ scanf("%d",&n); if(n==1){ printf("0.00"); return 0; } f[1]=1; fo(i,2,n){ ans+=f[i-1]; f[i]=1+ans/(i-1); } printf("%.2lf",f[n]);}
阅读全文
0 0
- 2017.10.06【NOIP提高组】模拟赛B组 青蛙 题解
- 2017.10.06【NOIP提高组】模拟赛B组 整除 题解
- 2017.10.06【NOIP提高组】模拟赛B组 新壳栈 题解
- 2017.10.07【NOIP提高组】模拟赛B组 偷懒的西西 题解
- 2017.10.07【NOIP提高组】模拟赛B组 瑰丽华尔兹 题解
- 2017.10.07【NOIP提高组】模拟赛B组 Heatwave 题解
- 2017.10.06【NOIP提高组】模拟赛B组总结
- 2017.1.15【初中部 NOIP提高组】模拟赛B组 寻找羔羊(agnus) 题解
- 2017.1.15【初中部 NOIP提高组】模拟赛B组 重复字符串(powerstr) 题解
- 2017.1.15【初中部 NOIP提高组】模拟赛B组 七天使的通讯(angelus) 题解
- 2017-07-08【NOIP提高组】模拟赛B组-连通块(connect)-题解
- 2017-07-08【NOIP提高组】模拟赛B组-山峰(summits)-题解
- 2017.05.06【NOIP提高组】模拟赛B组
- 2017.07.06【NOIP提高组】模拟赛B组
- 2017.07.06【NOIP提高组】模拟赛B组小结
- 2017.08.06【NOIP提高组】模拟赛B组小结
- 2017.08.06【NOIP提高组】模拟赛B组
- 2017.08.06【NOIP提高组】模拟赛B组总结
- JDBC操作数据库
- Linux系统常识(了解)
- 清除一些标签自带的js效果
- linux运行级别的查看与修改
- 自定义classloader实现JAVA热替换
- 2017.10.06【NOIP提高组】模拟赛B组 青蛙 题解
- 10.6离线赛
- POJ 1815 Friendship (最小点割集/最小割)
- linux系统基本命令之进程管理
- MyEclipse导入jquery-1.8.0.min.js等文件报错的解决方案
- 关于递推的简单思想(通过阶乘和斐波那契程序领悟)
- Network Switch vs. Network Hub: What’s The Difference?
- 今天学习css3 position
- some tips about python Six