CodeForces 554C 组合数学
来源:互联网 发布:天津市软件学院 编辑:程序博客网 时间:2024/05/08 02:40
题意
K种不同颜色的N个球,要求每种颜色最后一个球的位置必须按照顺序来。求有多少种排列方法。
题解
排列规则比较简单,首先放最后一个球,这个球一定放在最后一个空位,放完最后一个球之后,其他的a[i]-1个球随便放。按照排列规则计算一下即可。这里用到了一个小技巧,组合数打表。感觉还是挺实用的。
代码
#include <iostream>#include<cstring>#include<cstdio>#include<algorithm>#define MOD 1000000007using namespace std;typedef long long ll;ll suma,sumb;ll x[3010][3010];int main(){ int n; scanf("%d",&n); ll a[1010]; ll sum=0; for(int i=0;i<3000;i++) x[0][i]=1; for(int i=1;i<3000;i++){ for(int j=1;j<3000;j++){ x[i][j]=(x[i][j-1]+x[i-1][j-1])%MOD; } } for(ll i=0;i<n;i++){ scanf("%I64d",&a[i]); sum+=a[i]; } ll ans=1; for(ll i=n-1;i>=0;i--){ ans=(ans*x[a[i]-1][sum-1])%MOD; sum-=a[i]; } printf("%I64d\n",ans); return 0;}
0 0
- CodeForces 554C 组合数学
- 【CodeForces】554C - CodeForces 554C(组合数学)
- codeforces 294C组合数学)
- Codeforces--554C--Kyoya and Colored Balls(组合数学)
- Codeforces 554C Kyoya and Colored Balls 【dp + 组合数学】
- Codeforces 300C Beautiful Numbers 【组合数学】
- CodeForces 57 C.Array(组合数学)
- codeforces(559C)--C. Gerald and Giant Chess(组合数学)
- codeforces 294C C. Shaass and Lights(组合数学)
- Codeforces 666C C. Codeword 组合数学+DP
- 【组合数学思维】CodeForces
- CodeForces - 554C Kyoya and Colored Balls (组合数学&逆元模板)
- codeforces 554C Kyoya and Colored Balls 【组合数学+费马小定理】
- Codeforces 360C - Levko and Strings 组合数学+DP
- Codeforces 223C Partial Sums 数论+组合数学
- CodeForces 128C Games with Rectangle 组合数学
- 【组合数学】 Codeforces Round #295 (Div. 1) C - Pluses everywhere
- Codeforces 57 C Array ——组合数学
- 机器学习算法之SVM的多分类
- 堆排序和快速排序的c++实现
- DiaLog在底部显示
- java学习之:网络socket
- 剑指offer 最大连续子数组之和
- CodeForces 554C 组合数学
- 统计学习方法(4)——贝叶斯分类算法
- php实现远程网络文件下载到服务器指定目录(方法一)
- 实体类中重写toString()方法便于输出显示和监控调试
- 浙大数据结构课后题-最大子列和
- 在spring配置文件中引入properties文件--引出加载配置文件的对应方式
- 6.Unity3D商业游戏源码研究-变身吧主公-SceneLogin
- 找出数组中的最大和第二大元素需要进行几次比较?
- Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null