vijos1060 隔板法
排列组合问题
之前没有学过隔板法,随便学习了一下
其实挺好理解的
附上题解:
先只考虑一种球:
因为有n个盒子每个盒子可以放任意多球,还可以空出来任意多球。所以可以考虑为n+1个盒子,最后一个盒子里面是题中没放的球。
由于盒子可以空出来,所以将隔板与球一起排列 即在隔板和球组成的n+a列中 选出任意a个位置放隔板的话,就可以实现题目要求的效果!(0个或任意多个)。
两种球所以C(n+a,a)*C(n+b,b)。
之后还需要注意精度问题
一直不是很注意这种事情,mark
最后一个点需要用到 unsigned long long
附上丑丑的代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
int n,m,a,b;
double sum1,sum2;
unsigned long long c;
int main(){
scanf("%d%d%d",&n,&a,&b);
sum1=1;
for(int i=1+n;i<=a+n;i++){
sum1=(sum1*i)/(i-n);
}
sum2=1;
for(int i=n+1;i<=b+n;i++){
sum2=(sum2*i)/(i-n);
}
c=sum1*sum2;
cout<<c;
return 0;
}
哦...顺便提一下,自己之前写排列组合的时候,有时候会脑抽把它看成分子分母的乘积再相除
= =发现有bug...勿闹
vijos1060 隔板法的更多相关文章
- CF451E Devu and Flowers (隔板法 容斥原理 Lucas定理 求逆元)
Codeforces Round #258 (Div. 2) Devu and Flowers E. Devu and Flowers time limit per test 4 seconds me ...
- BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
3028: 食物 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 497 Solved: 331[Submit][Status][Discuss] De ...
- How do you add? UVA - 10943(组合数的隔板法!!)
题意: 把K个不超过N的非负整数加起来,使它们的和为N,有多少种方法? 隔板法...不会的可以买一本高中数学知识清单...给高中班主任打个广告.... 隔板法分两种...一种是不存在空集 = C(n- ...
- 51Nod 1509 加长棒(隔板法)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1509 思路: 直接去解可行的方法有点麻烦,所以应该用总的方法去减去不可行 ...
- uva10943(隔板法)
很裸的隔板法. 引用一下维基上对隔板法的解释: 现在有10个球,要放进3个盒子里 ●●●●●●●●●● 隔2个板子,把10个球被隔开成3个部份 ●|●|●●●●●●●●.●|●●|●●●●●●●.●| ...
- hdu6397 Character Encoding 隔板法+容斥原理+线性逆元方程
题目传送门 题意:给出n,m,k,用m个0到n-1的数字凑出k,问方案数,mod一个值. 题目思路: 首先如果去掉数字范围的限制,那么就是隔板法,先复习一下隔板法. ①k个相同的小球放入m个不同的盒子 ...
- HDU4045 Machine scheduling —— 隔板法 + 第二类斯特林数
题目链接:https://vjudge.net/problem/HDU-4045 Machine scheduling Time Limit: 5000/2000 MS (Java/Others) ...
- 逆元 组合A(n,m) C(n,m)递推 隔板法
求逆元 https://blog.csdn.net/baidu_35643793/article/details/75268911 int inv[N]; void init(){ inv[] = ; ...
- light oj 1102 - Problem Makes Problem组合数学(隔板法)
1102 - Problem Makes Problem As I am fond of making easier problems, I discovered a problem. Actuall ...
随机推荐
- 交易应用-运行多个SQL声明
事务具有原子性.要么不运行.要么全运行.一旦成功运行永久保存.而这些正是因为事务的原子性和对数据库的持久性形成的.下面是一个关于统一给数据库中的数据改动的批量操作,利用到事务. TODO:批量改动数据 ...
- OJ提交题目中的语言选项里G++与C++的区别(转载)
原文链接:http://blog.polossk.com/201405/c-plus-plus-g-plus-plus G++? 首先更正一个概念,C++是一门计算机编程语言,G++不是语言,是一款编 ...
- 随手记UIKit Dynamics
以今年的优势WWDC品行,我记得一些明年的元素.一些博客上找到了新的功能没有被记录.认为iOS 8全力以赴.iOS 7该属性不随手记录为时已晚 :) 参考WWDC 2013的Session Video ...
- java_部署jar
javaw -ms100m -mx256m -jar MyApp.jar 上面指定了使用最小100M最大256M内存. 4)如果main函数要带参数 java -mss10m -mx300m -jar ...
- 只有有lua编译能力不足200K代码吧?NO! Python 有可能。
如今Python给人的感觉是大,东西多,在Windows上安装后竟然要占100多兆的空间. lua给人的感觉是非常小,非常轻便.Python 2.7在linux下编译出来的代码在strip之后也有3M ...
- 【设计模式】Abstract Factory模式
抽象工厂模式是工厂方法模式的进一步强化.当工厂函数仅仅须要产生一种类型的产品(全部产品都继承自同一抽象基类)时,使用工厂方法模式就可以. 可是.当用户程序须要创建多种类型的产品,而这些产品又有一定的内 ...
- JavaScript中,关于new的那些事
这篇文章是自己对new学习过程中的一些理解,有不对的地方希望指出,接受组织的批评教育. 导火线,前段时间学习jQuery的时候,看到源码中有这样一段: jQuery = function(select ...
- cocos2d 游戏开发实战
文章转自:http://uliweb.clkg.org/tutorial/read/40 6 cocos2d 游戏开发实战 6.1 创建cocos2d项目 6.2 cocos2d v3 & ...
- gpu显存(全局内存)在使用时数据对齐的问题
全局存储器,即普通的显存,整个网格中的随意线程都能读写全局存储器的任何位置. 存取延时为400-600 clock cycles 很easy成为性能瓶颈. 訪问显存时,读取和存储必须对齐,宽度为4B ...
- JVM相关知识(1)
1.JVM内存管理的机制 内存空间划分为:Sun JDK在实现时遵照JVM规范,将内存空间划分为堆.JVM方法栈.方法区.本地方法栈.PC寄存器. 堆: 堆用于存储对象实例及数组值,可以认为Java中 ...