http://acm.hust.edu.cn/vjudge/contest/view.action?cid=31329#problem/G

使用二维数组f[ i ] [ j  ] 表示前i 位中有j个连续的硬币。

当第i个硬币等于j+1时,那么当j 个硬币恰在第i个硬币前面时,那么则有j + 1个,所以f[i ][ j ] 需要减去1个;当i >j + 1时,那么在第j + 1 个之前的数必须是T;所以需要减去f[ i - ( j +1 ) - 1 );

import java.math.BigInteger ;
import java.util.Scanner; public class Main
{
public static void main( String[ ] args )
{
Scanner cin = new Scanner( System.in ) ;
BigInteger[][] f = new BigInteger[ 105 ][ 105 ] ;
for( int i = 0 ; i <= 100 ; ++i )
{
f[ 0 ][ i ] = new BigInteger( "1" ) ;
}
f[ 1 ][ 0 ] = new BigInteger( "1" ) ;
for( int i = 1 ; i <= 100 ; ++i )
{
f[ 1 ][ i ] = new BigInteger( "2" ) ;
}
for( int i = 2 ; i <= 100 ; ++i )
{
for( int j = 0 ; j <= 100 ; ++j )
{
f[ i ][ j ] = f[ i - 1 ][ j ].multiply( BigInteger.valueOf( 2 ) ) ;
if( i == j + 1 )
{
f[ i ][ j ] = f[ i ][ j ].add( BigInteger.valueOf( -1 ) ) ;
}
else if( i > j + 1 )
{
f[ i ][ j ] = f[ i ][ j ].add( f[ i - j - 2 ][ j ].negate() ) ;
}
}
}
while( cin.hasNext())
{
int n = cin.nextInt();
int k = cin.nextInt();
System.out.println( f[ n ][ n ].add( f[ n ][ k - 1 ].negate()) ) ;
}
}
}

Coin Toss的更多相关文章

  1. UVA 10328 - Coin Toss dp+大数

    题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  2. UVA 10328 Coin Toss

    Coin Toss Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA. Original ID: ...

  3. Coin Toss(uva 10328,动态规划递推,限制条件,至少转至多,高精度)

    有n张牌,求出至少有k张牌连续是正面的排列的种数.(1=<k<=n<=100) Toss is an important part of any event. When everyt ...

  4. POJ 3440 Coin Toss(概率)

    题目链接 概率问题,像是概率论上学的均匀分布,是不是呢,忘了... 概率同面积有关系,我写的各种搓,然后此题格式十分变态,=前有的时候俩空格,有的时候一个空格.代码各种搓. #include < ...

  5. UVa 10328 - Coin Toss (递推)

    题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手.我们可以试着将问题转化一下. 设dp[i][j]表示抛掷i个硬币出现连续至多j个H ...

  6. POJ 3440 Coin Toss(求概率)

    题目链接 题意 :把硬币往棋盘上扔,分别求出硬币占1,2,3,4个格子的时候的概率. 思路 : 求出公式输出,不过要注意输出格式,我还因为输入的时候用了int类型错了好几次..... #include ...

  7. poj 3440 Coin Toss 概率问题

    这题主要是推导数学公式!!! 将概率问题转化为圆心所在的面积! 代码如下: #include<iostream> #include<stdio.h> #include<a ...

  8. VMware coding Challenge: Coin Toss Betting

    static int CoinTossEndAmount(int betAmount, String coinTossResults) { if (betAmount <=0 || coinTo ...

  9. UVa 10328 Coin Toss(Java大数+递推)

    https://vjudge.net/problem/UVA-10328 题意: 有H和T两个字符,现在要排成n位的字符串,求至少有k个字符连续的方案数. 思路:这道题目和ZOJ3747是差不多的,具 ...

随机推荐

  1. 基于QtQuick2.0应用程序运行于XP系统的诸多问题

    客户端 使用QtQuick技术开发酷炫的XP客户端经常遇到白屏或者无界面 if Qt is built using ANGLE, its shared libraries and the requir ...

  2. Qt的信号槽,一个老MFC的经验

    最近在利用闲暇时间研究Qt,大概有3周了,看过了官网的white paper并浏览了一遍<C++ GUI Programming with Qt 4, 2nd Edition>.总的来说, ...

  3. hibernate 事务的隔离级别 5.1

    脏读不可重复读幻读可序列化(符合事务的四个特性的正常情况 ) 解释: 脏读:事务A对数据1做了更新,但是还没有来得及提交 此时事务B对数据1进行了查询获得了事务A更新后的数据, 但是事务A因为一些原因 ...

  4. eclipse 部分颜色及部分字体设置

    eclipse整体代码的颜色风格可以用插件 eclipse color theme 更改. 但尽管如此,有些颜色仍不是最满意的,还需自己设计. 1. 光标选中字体的颜色,如图 一个openItem被选 ...

  5. java学习之动态代理模式

    package com.gh.dynaproxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Metho ...

  6. HDU 2087 剪花布条 KMP

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2087 KMP匹配数—— AC代码: #include <iostream> #includ ...

  7. volley源代码解析(七)--终于目的之Response&lt;T&gt;

    在上篇文章中,我们终于通过网络,获取到了HttpResponse对象 HttpResponse是android包里面的一个类.然后为了更高的扩展性,我们在BasicNetwork类里面看到.Volle ...

  8. X-UA-Compatible IE 浏览器默认文档模式设置

    制作网页的时候,IE8浏览器浏览页面的时候,有时候文档模式默认是IE7,导致IE8兼容性不是非常好.出现IE7应该出现的模式. 解决的方法例如以下: 在X-UA-Compatible中可用的方法有: ...

  9. 扩展欧几里德算法解二元一次方程之B - 青蛙的约会

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  10. lodop 打印控件的使用

    先看效果图 : lodop插件  需要安装 打印浏览效果: 实现打印的前提条件 去官网下载几个js包 : http://www.lodop.net/download.html 添加到项目中 图片如下: ...