UVA 474 - Heads / Tails Probability(递推)

UVA 474 - Heads / Tails Probability

题目链接

题意:给定n,求出2?n的科学计数法

思路:水水的,n最多到100w,那么先递推预处理出答案,然后输出即可

代码:

#include <cstdio>
#include <cstring>

const int N = 1000001;
const double eps = 1e-9;
int n;
struct Ans {
    double a;
    int b;
} ans[N];

void build() {
    ans[1].a = 5; ans[1].b = 1;
    for (int i = 2; i < N; i++) {
	ans[i].a = ans[i - 1].a * 0.5;
	ans[i].b = ans[i - 1].b;
	if (ans[i].a < 1.0) {
	    ans[i].a *= 10;
	    ans[i].b++;
	}
    }
}

int main() {
    build();
    while (~scanf("%d", &n)) {
	printf("2^-%d = %.3lfe-%d\n", n, ans[n].a, ans[n].b);
    }
    return 0;
}

UVA 474 - Heads / Tails Probability(递推)

时间: 2024-12-24 16:42:43

UVA 474 - Heads / Tails Probability(递推)的相关文章

UVa 474 - Heads / Tails Probability

题目:计算1/(2^n)的值的前4为有效数字以及位数. 分析:数论,大整数.直接用数组模拟即可. 说明:打表计算,查询输出. #include <iostream> #include <cstdlib> #include <cstdio> #include <cmath> using namespace std; double val[1000005]; int bit[1000005]; int main() { val[0] = 1;bit[0] = 0

UVA - 10304Optimal Binary Search Tree(递推)

题目:UVA - 10304Optimal Binary Search Tree(递推) 题目大意:给出一组数,e1 < e2 < ... < en,现在要求将这些数组成一棵二叉搜索树,并且使得sum (ei * cost(ei))最小.cost(ei)表示ei到到根节点之间有多少条边. 解题思路:首先二叉搜索树要满足左节点小于根节点,右节点大于根节点.因此对于e1 < e2 < ... < en这样一组数,我们只要枚举根节点的位置ek,将这个序列分成左右子树两部分(e

UVA 11077 - Find the Permutations(递推)

UVA 11077 - Find the Permutations 题目链接 题意:给定n,k求出有多少个包含元素[1-n]的序列,交换k次能得到一个[1,2,3...n]的序列 思路:递推dp[i][j]表示i个元素需要j次,那么在新加一个元素的时候,添在最后面次数不变,其余位置都是次数+1,这是可以证明的,原序列中有几个循环,需要的次数就是所有循环长度-1的和,那么对于新加一个元素,加在最后就和自己形成一个循环,次数不变,其余位置都会加入其他循环中,次数+1,因此递推式为dp(i,j)=dp

UVA - 10558A Brief Gerrymander(递推)

题目大意:UVA - 10558A Brief Gerrymander(递推) 题目大意:给定一个100 * 100 的矩形,现在要求将这个区域划分,竖着的线已经给你划分好了,现在要求你在这个区域内再添加A个横着的线,1 100 这两条是一定要的,问怎样选择横着的线,能够使得选举区间最多.选举区间的条件:内部没有横竖线,并且有一个点在区间内部.注意:边界上的点也是算在内的,但是要防止重复计算到选区内. 解题思路:这题题意都不是那么好理解了,然后写起来复杂度也是很大的.参考了别人的题解:首先:dp

UVA - 11401 - Triangle Counting (递推!)

UVA - 11401 Triangle Counting Time Limit: 1000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Submit Status Description Problem G Triangle Counting Input: Standard Input Output: Standard Output You are given n rods of length 1, 2-, n. You have

UVA 557 Burger 排列组合递推

When Mr. and Mrs. Clinton's twin sons Ben and Bill had their tenth birthday, the party was held at the McDonald's restaurant at South Broadway 202, New York. There were 20 kids at the party, including Ben and Bill. Ronald McDonald had made 10 hamburg

UVA 11077 Find the Permutations 递推置换

                           Find the Permutations Sorting is one of the most used operations in real life, where Computer Science comes into act. It iswell-known that the lower bound of swap based sorting is nlog(n). It means that the best possiblesor

【UVA】620-Cellular Structure(递推)

读错题了一开始. 一个细胞每次可以进行3中增值方式,给你一个最终形态,问你达到这个形态之前的那个到这个最终形态是通过哪一种方式得到的. 直接递推就可以了,小优化就是如果这个字符串长度为偶数,那么肯定发生了变异. 14144659 620 Cellular Structure Accepted C++ 0.009 2014-09-04 07:31:52 #include<cstdio> #include<algorithm> #include<string> #inclu

UVa 1638 Pole Arrangement【递推】

题意:给出n根高度为1,2,3,---n的杆子,从左边能看到l根,右边能够看到r根,问有多少种可能 看的紫书的思路 先假设已经安排好了高度为2---i的杆子, 那么高度为1的杆子的放置方法有三种情况 放在最左边:从左边看得见,右边看不见 放在最右边:从右边看得见,左边看不见 放在中间,有i-2个空位可以插,左右都看不见 所以可以写出递推关系: d[i][j][k]=d[i-1][j-1][k]+d[i-1][j][k-1]+d[i-1][j][k]*(i-2); 1 #include<iostr