ACM学习历程—Hihocoder 1164 随机斐波那契(数学递推)
描述
大家对斐波那契数列想必都很熟悉:
a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1)。
现在考虑如下生成的斐波那契数列:
a0 = 1, ai = aj + ak, i > 0, j, k从[0, i-1]的整数中随机选出(j和k独立)。
现在给定n,要求求出E(an),即各种可能的a数列中an的期望值。
输入
一行一个整数n,表示第n项。(1<=n<=500)
输出
一行一个实数,表示答案。你的输出和答案的绝对或者相对误差小于10-6时被视为正确答案。
样例解释
共存在3种可能的数列
1,2,2 1/4
1,2,3 1/2
1,2,4 1/4
所以期望为3。
- 样例输入
-
2
- 样例输出
-
3.000000
设f(n)表示an的期望值。
那么

设s(n)表示f(n)前n项的和,那么

当时Hihocoder挑战赛时没高兴推,直接暴力打表过的。
代码:
#include <iostream>
#include <cstdio>
#define LL long long using namespace std; double e[]; LL Sum(int n)
{
LL ans = ;
for (int i = ; i < n; ++i)
{
for (int j = ; j < n; ++j)
{
ans += e[i]+e[j];
}
}
return ans;
} void Init()
{
e[] = ;
double C2;
for (int i = ; i <= ; ++i)
{
C2 = i*i;
e[i] = Sum(i) / C2;
}
} int main()
{
Init();
int n;
while (scanf("%d", &n) != EOF)
{
printf("%.7lf\n", e[n]);
}
return ;
}
ACM学习历程—Hihocoder 1164 随机斐波那契(数学递推)的更多相关文章
- hihoCoder #1164 随机斐波那契
时间限制:5000ms单点时限:1000ms内存限制:256MB描述 大家对斐波那契数列想必都很熟悉: $a_0 = 1, a_1 = 1, a_i = a_{i-1} + a_{i-2}, (i & ...
- 计蒜客 28319.Interesting Integers-类似斐波那契数列-递推思维题 (Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 I)
I. Interesting Integers 传送门 应该是叫思维题吧,反正敲一下脑壳才知道自己哪里写错了.要敢于暴力. 这个题的题意就是给你一个数,让你逆推出递推的最开始的两个数(假设一开始的两个 ...
- POJ3070 斐波那契数列递推 矩阵快速幂模板题
题目分析: 对于给出的n,求出斐波那契数列第n项的最后4为数,当n很大的时候,普通的递推会超时,这里介绍用矩阵快速幂解决当递推次数很大时的结果,这里矩阵已经给出,直接计算即可 #include< ...
- ACM学习历程—CodeForces 176B Word Cut(字符串匹配 && dp && 递推)
Description Let's consider one interesting word game. In this game you should transform one word int ...
- hihoCoder挑战赛11 A 随机斐波那契
算了前三项.....发现是个大水题... #include<stdio.h> int main() { int n; while (~scanf("%d", &am ...
- HihoCoder1164 随机斐波那契(概率DP)
描述 大家对斐波那契数列想必都很熟悉: a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1). 现在考虑如下生成的斐波那契数列: a0 = 1, ai = aj + ...
- 学习C语言偶遇【斐波那契数列】
1.今天学着学着就发现一个特别有趣的数列,斐波那契数列,感觉很好玩,翠花,上代码~~~~~~~ #include <stdio.h> int fibonaci(int i) { ) { ; ...
- luogu P1775 古代人的难题_NOI导刊2010提高(02)(斐波纳契+数学)
题意 已知x,y为整数,且满足以下两个条件: 1.x,y∈[1…k],且x,y,k∈Z 2.(x^2-xy-y^2)^2=1 给你一个整数k,求一组满足上述条件的x,y并且使得x^2+y^2的值最大. ...
- [luogu]P3938 斐波那契[数学]
[luogu]P3938 斐波那契 题目描述 小 C 养了一些很可爱的兔子. 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行 繁衍:一对兔子从出生后第二个月起,每个月刚 ...
随机推荐
- intel电源管理技术中I2C和SVID
1.I2C总线架构图: 2.Gemini Lake平台所支持的PMIC 是哪种类型? POR 是SVID PMIC, i2c PMIC 会影响性能. 3.SerialVID, 总共有三个信号线 时钟( ...
- Notepad++集成Subversion SVN插件
点击Plugin –> Plugin Manager –> Show Plugin Manager 打开后,在“Available”页找到“Subversion”,然后点击“Install ...
- gitHub静态页面托管
github已经是众所周知的程序员同性交友网站了,我就不多说了,(+_+)? 下面讲一讲如何在不用自己购买空间域名备案的情况下,通过github来托管自己的一些小demo或者项目 让其能够通过gith ...
- 11 redis之rdb快照持久化
一:Redis持久化配置 Redis的持久化有2种方式[快照,是日志] 二:Rdb快照的配置选项 save 900 1 // 900内,有1条写入,则产生快照 save 300 1000 // 如果3 ...
- Log4j2升级jar包冲突问题
升级Log4j2后日志提示jar包冲突: SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar ...
- Spring mybatis自动扫描dao
Spring注解方式会出现找不到dao的bean的情况 [解决方案] 在mybatis配置文件中加入以下绑定dao的方式: <!-- mapper接口namepspace绑定方式 -->& ...
- sizeof运用
解析:ss1是一个字符指针,指针的大小是一个定值,就是4字节,所以sizeof(ss1)是4字节.ss2是一个字符数组,这个数组最初未定大小,由具体填充值来定.填充值是“0123456789”.1个字 ...
- http协议详解-经典篇
本文转载至 http://www.cnblogs.com/flychen/archive/2012/11/28/2792206.html ————————————————————————————— ...
- python 基础 8.3 match方法和search方法
一,正则对象的split 方法 split(string[,maxsplit]) 按照能够匹配的字串讲string 分割后返回列表.maxsplit 用于指定最大分割次数,不指定将全部分割.来查找符合 ...
- vue 向后台提交数据
新建template 表单 <template> <div class="add-group content"> <table class=" ...