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
 
 
一看,大水题,马上来了个循环,然后计算 n/2的,得到复杂度O(n/2*n),提上去发现,TLE...我靠!
然后想了想,发现这题可以dp过去.恩....这下子肯定可以过了吧!!!?
 
dp的过程如下图:
n==2时:
1/1 1/2             
1/2 1/1   
n==3时:
1/1 1/2 1/3
1/2 1/1 1/2
1/3 1/2 1/1
 
容易看出
n==3时,dp[3] = dp[2] - dp[1] + dp[2] + 2*(1/n)
化简一下,推导出:
dp[n]=2*dp[n-1]-do[n-2] + (2/n)
 
接着快速的敲了Java代码,过了样例,提上去..一个大大的WA!!!!!!!!!!!!!!!!
然后把float改成了double,发现居然是两个不同的答案,再提交一次,还是WA.....(无奈,需要去恶补一下Java的浮点运算)
 
然后很无奈的换C敲一遍.....就AC了.....无奈无奈无奈
C Code:
#include <stdio.h>
double dp[];
int main(){
int n;
dp[]=;
dp[]=; for(int i=;i<=;i++){
dp[ i ] = * dp[ i - ] - dp[ i - ] + ( 2.0 / i );
}
while(scanf("%d",&n)== && n){
printf("%.2lf\n",dp[n]);
}
}
顺便给上Java的 WA code:
 
import java.util.Scanner;

public class Main {

    public static double[] dp = new double[ 50001 ];

    public static void dp() {
dp[ 1 ] = 1;
dp[ 2 ] = 3;
for( int i = 3; i <= 50000; i++ ) {
dp[ i ] = 2 * dp[ i - 1 ] - dp[ i - 2 ] + ( 2.0 / i );
}
} public static void main( String[] args ) {
Scanner sc = new Scanner( System.in );
dp();
while( sc.hasNext() ) {
int n = sc.nextInt();
if( n == 0 )
return;
else {
System.out.printf( "%.2f\n", dp[ n ] );
}
}
}
}

求Java老司机讲解下为何卡浮点呀。。。。

 
 
 
 
 
 
 

[hdu2156]分数矩阵的更多相关文章

  1. HDU_2156 分数矩阵

    Problem Description             我们定义如下矩阵:            1/1 1/2 1/3            1/2 1/1 1/2            1 ...

  2. HDOJ(HDU) 2156 分数矩阵(嗯、求和)

    Problem Description 我们定义如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增. 请求 ...

  3. HDU 2156 分数矩阵

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

  4. 问题 A: 分数矩阵

    题目描述 我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增.请求出这个矩阵的总和. 输入 输入包含多组测 ...

  5. 基于MapReduce的SimRank++算法研究与实现

    一.算法应用背景 计算广告学(Computational Advertising)是一门广告营销科学,以追求广告投放的收益最大化为目标,重点解决用户与广告匹配的相关性和广告的竞价模型问题,涉及到自然语 ...

  6. 洛谷P1074 靶形数独(算竞进阶习题)

    还是数独.. 比上一个多了个分数矩阵,其实没什么差别,但是数据好像水了许多... #include <bits/stdc++.h> #define INF 0x3f3f3f3f using ...

  7. 《TC训练赛一》题解!

    以下题目标题就是此题题目链接,题目内容为了节省篇幅就不粘上去了.整套题的链接:https://acm.bnu.edu.cn/v3/contest_show.php?cid=8679#info 密码:7 ...

  8. 用深度学习做命名实体识别(七)-CRF介绍

    还记得之前介绍过的命名实体识别系列文章吗,可以从句子中提取出人名.地址.公司等实体字段,当时只是简单提到了BERT+CRF模型,BERT已经在上一篇文章中介绍过了,本文将对CRF做一个基本的介绍.本文 ...

  9. LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]

    Motivation: 阈值分割的阈值并没有通过模型训练学出来,而是凭借主观经验设置,本文通过与背景得分比较提取对应的proposal,不用阈值的另一篇文章是Shou Zheng的AutoLoc,通过 ...

随机推荐

  1. Delphi获取其它进程窗口句柄的3种方法

    本文主要跟大家介绍Delphi中获取其它进程的窗口句柄,在Delphi中获取其它进程的窗口句柄,绝大部分人首先想到的会使用:FindWindow或者用GetWindow来遍历查找,如: handle ...

  2. Handler消息传递机制——Handler、Loop、MessageQueue的工作原理

    为了更好地理解Handler的工作原理,先介绍一下与Handler一起工作的几个组件. Message:Handler接收和处理的消息对象. Looper:每个线程只能拥有一个Looper.它的loo ...

  3. PHPCMS 详情页静态化

    <?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class('admin',' ...

  4. PKU-1704-Georgia and Bob

    题目链接 http://poj.org/problem?id=1704 这个题目是个好题,没有两下子是做不出的,其中考到,要你排序,如何把题目化成我们熟知的东西, 在这个题中我开始用选择法排序,他给我 ...

  5. Java线程:锁

    一.锁的原理 Java中每个对象都有一个内置锁,当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行的代码类的当前实例(this实例)有关的锁.获得一个对象的锁也称为获取锁.锁 ...

  6. html标签大全(2)

    http标签详解 声明 1:这里的文字都是我从我自己csdn账号拷贝过来,是本人学习总结的结晶,所以请尊重本作品.2:如要要转载本文章,则要说明文字的出处.3:如有哪里不对欢迎指出. 在上一篇文章中主 ...

  7. 锁 和 CopyOnWrite的实现

    1.普通锁 只有lock功能, Java实现:ReentrantLock lock = new ReentrantLock(); lock和unlock: lock.lock(); lock.unlo ...

  8. POJ2479(dp)

    Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 39089   Accepted: 12221 Des ...

  9. 微信面试题-获取元素的最终background-color

    一.题目  用JS代码求出页面上一个元素的最终的background-color,不考虑IE浏览器,不考虑元素float情况. 二.题目解析  1.考察底层JavaScript基础  前端开发,日常最 ...

  10. We Chall-Training: Crypto - Caesar I-Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...