UVa 10328 - Coin Toss (递推)】的更多相关文章

题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1269 10328 - Coin Toss Time limit: 3.000 seconds 问题描述 Toss is an important part of any event. When everything becomes equal toss is the ultim…
题意:抛出n次硬币(有顺序),求至少k个以上的连续正面的情况的种数. 思路:转换成求抛n个硬币,至多k-1个连续的情况种数,用所有可能出现的情况种数减去至多k-1个的情况,就得到答案了.此题涉及大数加减. 分析: (1)假设n=k,那么只有一种情况. (2)假设n=k+1,那么有3种情况,包含k个的两种,k+1个的一种. (3)假设k=1,那么只有无正面这一种的情况不能被考虑,其他都能算,那么就是(1<<n)-1种.(n个硬币有2^n种结果) (4)其他情况考虑递推.先把问题的规模降低,最小就…
Coin Toss Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA. Original ID: 1032864-bit integer IO format: %lld      Java class name: Main   Toss is an important part of any event. When everything becomes equal toss is the ul…
题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手.我们可以试着将问题转化一下. 设dp[i][j]表示抛掷i个硬币出现连续至多j个H的情况种数. 实际上原题中的出现连续至少k个H,即出现连续k个H,k+1个H,...n个H的并集,等价于dp[n][n]-dp[n][k-1],即从连续至多n个H的情况(其实这就是所有的抛掷情况种数)减去连续至多(k-1)个H的情况,这保证得到的所有情况一定至少有k个连续的H. 现在问题就变成了怎么…
https://vjudge.net/problem/UVA-10328 题意: 有H和T两个字符,现在要排成n位的字符串,求至少有k个字符连续的方案数. 思路:这道题目和ZOJ3747是差不多的,具体做法可以参考另一篇博客http://www.cnblogs.com/zyb993963526/p/7203833.html 但是这道题目的话是要用大数来做的,c++感觉不太好写,就学了下java的做法. import java.math.BigInteger; import java.util.S…
 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 1…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3185 题意: A.B两人赛马,最终名次有3种可能:并列第一:A第一B第二:B第一A第二.输入n(1≤n≤1000),求n人赛马时最终名次的可能性的个数除以10056的余数. 分析: 设答案为f(n).假设第一名有i个人,有C(n,i)种可能性,接下来有f(n-i)种可能性,因此答案…
UVA 10288 - Coupons option=com_onlinejudge&Itemid=8&page=show_problem&category=482&problem=1229&mosmsg=Submission+received+with+ID+13896541" target="_blank" style="">题目链接 题意:n个张票,每张票取到概率等价,问连续取一定次数后,拥有全部的票的期…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2370 一道递推的题. 这道题的递推方程很容易可以想到,是枚举加上哪一个数字,把方法数累加起来.这道题主要是要注意前缀0的问题,可以通过枚举第一个数字不是一的所有情况,然后最后询问大于6的时候就加一. 代码如下(JAVA): import java.math.BigInteger; impor…
如果已经有三个相邻的X,则先手已经输了. 如果有两个相邻的X或者两个X相隔一个.,那么先手一定胜. 除去上面两种情况,每个X周围两个格子不能再放X了,因为放完之后,对手下一轮再放一个就输了. 最后当“禁区”布满整行,不能再放X了,那个人就输了. 每放一个X,禁区会把它所在的线段“分割”开来,这若干个片段就可以看做若干个游戏的和. 设g(x)表示x个连续格子对应的SG函数值,递推来求g(x): g(x) = mex{ g(x-3), g(x-4), g(x-5), g(x-6) xor g(1),…