P2719题目链接
没有选择动归实现,排列组合就可以啦!
事先说明: C 2 n − 2 n − 1 < = > ( 2 n − 2 n − 1 ) C_{2n-2}^{n-1} \binom{2n-2}{n-1} C2n−2n−1(n−12n−2)
最后两张票属于不同类的概率: ( 2 n − 2 n − 1 ) × ( 1 2 ) 2 n − 2 \binom{2n-2}{n-1} \times (\frac{1}{2})^{2n-2} (n−12n−2)×(21)2n−2 ∴ \therefore ∴ 此时,前 ( 2 n − 2 ) (2n-2) (2n−2) 张里有 ( n − 1 ) (n-1) (n−1) 张A, ( n − 1 ) (n-1) (n−1) 张B
( 2 n − 2 n − 1 ) × ( 1 2 ) 2 n − 2 = ( 2 n − 2 ) ! 4 n − 1 ( n − 1 ) ! ( n − 1 ) ! = ( 2 n − 2 ) ( 2 n − 3 ) ⋯ ( n ) [ 4 ( n − 1 ) ] [ 4 ( n − 2 ) ] ⋯ [ 4 × 1 ] \binom{2n-2}{n-1} \times (\frac{1}{2})^{2n-2} = \frac{(2n-2)!}{4^{n-1}(n-1)!(n-1)!} = \frac{(2n-2)(2n-3)\cdots(n)}{[4(n-1)][4(n-2)]\cdots[4\times1]} (n−12n−2)×(21)2n−2=4n−1(n−1)!(n−1)!(2n−2)!=[4(n−1)][4(n−2)]⋯[4×1](2n−2)(2n−3)⋯(n)
迭代运算即可得到答案!
补一发DP的动态转移方程: f [ i ] [ j ] = ( f [ i − 1 ] [ j ] + f [ i ] [ j − 1 ] ) 2 f[i][j]=\frac{(f[i-1][j]+f[i][j-1])}{2} f[i][j]=2(f[i−1][j]+f[i][j−1])
AC代码(Java语言描述)import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt()>>1;
scanner.close();
double result = 1.0;
for (int i = 1; i
关注
打赏
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法