HihoCoder1164 随机斐波那契(概率DP)
描述
大家对斐波那契数列想必都很熟悉:
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
暴力是一切算法的源头。。。
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
double a[],b[];
void get(int n)
{
a[]=1.0;
for(int i=;i<=n;i++){
for(int j=;j<i;j++)
for(int k=;k<i;k++)
b[i]+=(a[j]+a[k]);
a[i]=b[i]/(i*i);
b[i]=;
}
}
int main()
{
int n;
scanf("%d",&n);
get(n);
printf("%.6lf\n",a[n]);
return ;
}
HihoCoder1164 随机斐波那契(概率DP)的更多相关文章
- hihoCoder #1164 随机斐波那契
时间限制:5000ms单点时限:1000ms内存限制:256MB描述 大家对斐波那契数列想必都很熟悉: $a_0 = 1, a_1 = 1, a_i = a_{i-1} + a_{i-2}, (i & ...
- hihoCoder挑战赛11 A 随机斐波那契
算了前三项.....发现是个大水题... #include<stdio.h> int main() { int n; while (~scanf("%d", &am ...
- ACM学习历程—Hihocoder 1164 随机斐波那契(数学递推)
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 大家对斐波那契数列想必都很熟悉: a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1). ...
- Ural 1225. Flags 斐波那契DP
1225. Flags Time limit: 1.0 secondMemory limit: 64 MB On the Day of the Flag of Russia a shop-owner ...
- 【斐波那契DP】HDU 4639——HeHe
题目:点击打开链接 多校练习赛4的简单题,但是比赛的时候想到了推导公式f(n)=f(n-1)+f(n-2)(就是斐波那契数列),最后却没做出来. 首先手写一下he(不是hehe)连续时的规律.0-1 ...
- P2626 斐波那契数列(升级版)(合数的质数分解, 大数为素数的概率十分小的利用)
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: f(1)=1f(1) = 1 f(1)=1 f(2)=1f(2) = 1f(2)=1 f(n)=f(n−1)+f(n−2)f(n) = f ...
- CodeAction_beta02 斐波那契 (多维DP)
题面: solution: 这题和斐波那契数列没有任何关系!!!!! 这题就是一个无脑DP!!!!!!!!!! 因为所有数都要出现至少一次,所以只需考虑其组合而不用考虑其排列,最后乘个 n!就是了(意 ...
- [ZJOI2011]细胞——斐波那契数列+矩阵加速+dp
Description bzoj2323 Solution 题目看起来非常复杂. 本质不同的细胞这个条件显然太啰嗦, 是否有些可以挖掘的性质? 1.发现,只要第一次分裂不同,那么互相之间一定是不同的( ...
- DP思想在斐波那契数列递归求解中的应用
斐波那契数列:1, 1, 2, 3, 5, 8, 13,...,即 f(n) = f(n-1) + f(n-2). 求第n个数的值. 方法一:迭代 public static int iterativ ...
随机推荐
- 数据结构实习 - problem M 判断平衡二叉树
writer:pprp date: 20171103 题目描述 给定一棵二叉树的中序和层序输出,判断是否为平衡二叉树的.如果是,输出YES如果不是输出NO. 输入 树结点个数 中序遍历序列 层序遍历序 ...
- PHP中用下划线开头的含义
命名的规则 加一个为私有的 加两个一般都是系统默认的,系统预定义的,即所谓:=====================“魔术方法”与“魔术常量”=====================★PHP起止为 ...
- JavaScript权威指南--语句
知识要点 在javascript中,表达式是短语,那么语句(statement)就是整句或命令.表达式计算出一个值,但语句用来执行以使某件事发生. 1.表达式语句 具有副作用的表达式是JavaScri ...
- flask学习(七):URL反转
1. 什么叫反转URL:从视图函数到url的转换叫做反转url 2. 反转url的用处: 1) 在页面重定向的时候,会使用url反转 2) 在模板中,也会使用url反转 3. 实例: 打印出了url
- oom_killer
Limited Memory 今天在虚拟机里面用Word处理文档的时候,突然硬盘灯一阵狂闪,然后虚拟机就一起消失了. 这种事情屡见不鲜,很明显是Linux内核把占用最多内存的程序(这次是Virtual ...
- 批量管理增量日志(seek、tell)
f = open('/usr/home/yongsan/size_text','r+') f.read()
- 【Python】装饰器理解
以下文章转载自:点这里 关于装饰器相关的帖子记录在这里: 廖雪峰, thy专栏, stackflow Python的函数是对象 简单的例子: def shout(word="yes" ...
- Truncate a string
用瑞兹来截断对面的退路! 截断一个字符串! 如果字符串的长度比指定的参数num长,则把多余的部分用...来表示. 切记,插入到字符串尾部的三个点号也会计入字符串的长度. 但是,如果指定的参数num小于 ...
- VUE基本安装
// 安装脚手架 cnpm install -g vue-cli // 初始化项目 vue init webpack 项目名称 // 安装依赖 cd 项目名称 cnpm i // 安装stylus c ...
- 添加git 忽略文件
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. Git 忽略文件提交的方法 有三种方法可以实现忽略Gi ...