POJ1492——Paths on a Grid(组合数公式)
来源:互联网 发布:java ftp断点续传 下载 编辑:程序博客网 时间:2024/06/06 19:49
题目链接
题目意思其实就是求C(n+m,s),(s=min{m,n}).对于这种题,我也是第一次见到。意思如此直接,就是求组合数,但给定的组合数有很大,32位,所以利用杨辉三角递推是做梦了,看了别人的想法,居然是直接用组合数公式:
C(n,m) = n! / (m! * (n-m)!)
然后一个while循环再求得的值上四舍五入就搞定了,当然数据类型要改成double,不然小数点后的数据直接被砍了,但是这种做法我有很多不能理解的,首先double除法运算会造成精度损失,但最后的结果四舍五入就把损失给弥补了。其次,就算能弥补,这样的循环也会超时啊,毕竟数据太大了。然而结果却AC了。。。。。这简直是简直了(也许我就是在一本正经的胡说八道,,,也许是我智商比较感人所以想不通吧....),麻烦看到此博客的大神给我解释一下,,,感激不尽~~~
<span style="font-size:18px;">#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int main(){ long long n, m; while(scanf("%lld%lld",&n,&m)&&(n!=0||m!=0)) { long long s=n+m; long long t = n<=m ? n : m; double sum=1; while(t>0) sum*=(double)s--/(double)t--; sum+=0.5; printf("%lld\n",(long long)sum); } return 0;}</span>
0 0
- POJ1492——Paths on a Grid(组合数公式)
- POJ 1942 Paths on a Grid(组合数公式)
- poj1942 Paths on a Grid(组合数)
- POJ 1942 Paths on a Grid 组合数
- poj 1942 Paths on a Grid(组合数模板)
- POJ 1942 Paths on a Grid 组合数的优化
- TOJ 1407. Paths on a Grid(组合数)
- poj-1942-Paths on a Grid【组合数】
- POJ - 1942 D - Paths on a Grid 组合数
- POJ 1942 Paths on a Grid(求组合数)
- poj 1942 Paths on a Grid (求组合数)
- Paths on a Grid(组合数学)
- Paths on a Grid(简单组合数学)
- POJ1942 Paths on a Grid (组合数学)
- POJ1942——Paths on a Grid
- poj 1942 Paths on a Grid(组合数学--组合数)
- poj 1942 Paths on a Grid 求组合数mCn的方法
- 组合数的递归调用:poj 1942 Paths on a Grid
- hdoj 2818 Building Block(加权并查集)
- 二叉树的后序序列
- php学习--5数组
- Java开发中的23种设计模式详解(转)
- POJ2528 Mayor's posters(线段树+离散化)
- POJ1492——Paths on a Grid(组合数公式)
- 支配集,覆盖集,独立集与匹配
- 【codeforces】Far Relative’s Problem
- 【codeforces】-699B-One Bomb(思维)
- ****Codeforces Round #363 (Div. 2) C. Vacations(DP 动态规划)
- 面试题49:将字符串转换成整数
- Codeforces 540B - School Marks
- 路由表建立策略
- 【Android】SlidingMenu属性详解