Problem Description

我们定义如下矩阵:

1/1 1/2 1/3

1/2 1/1 1/2

1/3 1/2 1/1

矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。

请求出这个矩阵的总和。

Input

每行给定整数N (N<50000),表示矩阵为 N*N.当N为0时,输入结束。

Output

输出答案,保留2位小数。

Sample Input

1

2

3

4

0

Sample Output

1.00

3.00

5.67

8.83

简单题

不打表会超时。。。。

还可以用一个公式做,有规律。

打表:

  1. import java.util.Scanner;
  2. public class Main{
  3. static double db[] = new double[50002];
  4. public static void main(String[] args) {
  5. dabiao();
  6. Scanner sc = new Scanner(System.in);
  7. while(sc.hasNext()){
  8. int n =sc.nextInt();
  9. if(n==0){
  10. return;
  11. }
  12. System.out.printf("%.2f",db[n]);
  13. System.out.println();
  14. }
  15. }
  16. private static void dabiao() {
  17. db[1]=1;
  18. double m =1;
  19. for(int i=2;i<db.length;i++){
  20. m=m+2.0*1.0/i;
  21. db[i]=db[i-1]+m;
  22. }
  23. }
  24. }

找规律:

分析:

  1. 初始条件:a[5005]={0,1,3}
  2. 1/1 a[1]
  3. 1/1 1/2
  4. 1/2 1/1 a[2]
  5. 1/1 1/2 | 1/3
  6. 1/2 1/1 | 1/2
  7. --------|
  8. 1/3 1/2 1/1 a[3]
  9. ____________
  10. |1/1 1/2 1/3| 1/4
  11. ____________
  12. |1/2 |1/1 1/2| 1/3|
  13. |1/3 |1/2 1/1| 1/2|
  14. |____|_______| |
  15. 1/4 |1/3 1/2 1/1| a[4]
  16. |____________|

递推公式:a[i]=2*a[i-1]-a[i-2]+2.0/i;

初始条件:a[5005]={0,1,3}

  1. #include <stdio.h>
  2. double a[50005]={0,1,3};
  3. int main()
  4. {
  5. int n,i;
  6. for (i=3;i<=50000;i++)
  7. a[i]=2*a[i-1]-a[i-2]+2.0/i;
  8. while (scanf("%d",&n)!=EOF&&n)
  9. printf("%.2fn",a[n]);
  10. return 0;
  11. }

HDOJ(HDU) 2156 分数矩阵(嗯、求和)的更多相关文章

  1. HDU 2156 分数矩阵

    http://acm.hdu.edu.cn/showproblem.php?pid=2156 Problem Description 我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/ ...

  2. HDOJ(HDU).1166 敌兵布阵 (ST 单点更新 区间求和)

    HDOJ(HDU).1166 敌兵布阵 (ST 单点更新 区间求和) 点我挑战题目 题意分析 根据数据范围和询问次数的规模,应该不难看出是个数据结构题目,题目比较裸.题中包括以下命令: 1.Add(i ...

  3. HDOJ(HDU).2266 How Many Equations Can You Find (DFS)

    HDOJ(HDU).2266 How Many Equations Can You Find (DFS) [从零开始DFS(9)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零 ...

  4. hdu 4507 数位dp(求和,求平方和)

    http://acm.hdu.edu.cn/showproblem.php?pid=4507 Problem Description 单身! 依旧单身! 吉哥依旧单身! DS级码农吉哥依旧单身! 所以 ...

  5. HDU.2640 Queuing (矩阵快速幂)

    HDU.2640 Queuing (矩阵快速幂) 题意分析 不妨令f为1,m为0,那么题目的意思为,求长度为n的01序列,求其中不含111或者101这样串的个数对M取模的值. 用F(n)表示串长为n的 ...

  6. HDOJ(HDU).1412 {A} + {B} (STL SET)

    HDOJ(HDU).1412 {A} + {B} (STL SET) 点我挑战题目 题意分析 大水题,会了set直接用set即可. 利用的是set的互异性(同一元素有且仅有一项). #include ...

  7. HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值)

    HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值) 点我挑战题目 题意分析 从题目中可以看出是大数据的输入,和大量询问.基本操作有: 1.Q(i,j)代表求区间max(a ...

  8. HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化)

    HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化) 题意分析 先把每种硬币按照二进制拆分好,然后做01背包即可.需要注意的是本题只需要求解可以凑出几种金钱的价格,而不需要输出种数 ...

  9. HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化)

    HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化) 题意分析 给出一系列的石头的数量,然后问石头能否被平分成为价值相等的2份.首先可以确定的是如果石头的价值总和为奇数的话,那 ...

随机推荐

  1. 用Ueditor存入数据库带HTML标签的文本,从数据库取出来后,anjular用ng-bind-html处理带HTML标签的文本

    ng.module('index-filters', []) .filter('trustHtml', function ($sce) { return function (input) { retu ...

  2. 比较两份文件的异同-beyond compare

    比较两份文件的异同-beyond compare 今天又学到一个知识,比较两次文件的 异同.  哈哈 谢谢领导

  3. SGU 181.X-Sequence

    时间限制:0.5s 空间限制:4M 题意: 令X0=A, Xi=(a*Xi-1^2,b*Xi-1+c)%m; 求Xk,(0<=k<=109),(0<=a,b<=100),(1& ...

  4. 【CF39E】【博弈论】What Has Dirichlet Got to Do with That?

    Description You all know the Dirichlet principle, the point of which is that if n boxes have no less ...

  5. TaskbarCreated 消息

    托盘中的图片就通过注册这个消息来实现,系统和进程通过进程间通信发送这个消息,进程接收他

  6. javascript原型模式理解

    传统的面向对象语言中,创建一个对象是通过使用类来创建一个对象的,比如通过类飞行器来创建一个对象,飞机. 而js这种没有类概念的动态设计语言中,创建对象是通过函数来创建的,所以通常也把js称为函数式语言 ...

  7. nodejs版本控制

    本方法基于https://segmentfault.com/a/1190000004855835修改 配置: 使用的nvmw的git 地址https://github.com/hakobera/nvm ...

  8. An erroroccurred while filtering resources

    maven报错: maven An error occurred while filtering resources Maven -> Update Project... resolved th ...

  9. eval函数:分号的应用

    eval("echo'hello world';"); ("参数;") eval函数把参数当做php代码来执行,参数后要有分号,最后还要另加一个分号 相当于: ...

  10. 简单学C——第一天

    基本功 一.数据类型: 在C语言中,有数据类型这一说法.为何有这一说法?是因为在现实生活中存在着不同的数据,(例如整数,小数,字符即a b c d , . ; "  之类).由于计算机中所有 ...