bzoj4807車
来源:互联网 发布:最全p2p网络理财产品 编辑:程序博客网 时间:2024/06/09 15:52
毫无疑问,如果把n行看做一行的话
就相当于在m个位置中取n个
答案就是C(m,n)了
套一发高精度就行了
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;inline int read(){ int x=0,f=1,ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-'){f=-1;}ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}struct BigInt{ int a[55],len; void init() { memset(a,0,sizeof(a)); len=50; } int& operator [](int x) { return a[x]; } BigInt operator *(const int &b)const { BigInt c;c.init(); for(int i=1;i<=50;i++) { c[i+1]=(c[i]+a[i]*b)/10; c[i]=(c[i]+a[i]*b)%10; } return c; } void print() { while(!a[len]) len--; for(int i=len;i>=1;i--) printf("%d",a[i]); puts(""); }};int n,m;int pri[1000005],mn[1000005],tail;inline void mk(){ int maxn=max(n,m); for(int i=2;i<=maxn;i++) { if(!mn[i]) mn[i]=i,pri[++tail]=i; for(int j=1;j<=tail&&pri[j]*i<=maxn;j++) { mn[i*pri[j]]=pri[j]; if(i%pri[j]==0) break; } }}int cnt[1000005];inline void add(int x){ while(x!=1) { cnt[mn[x]]++; x/=mn[x]; }}inline void del(int x){ while(x!=1) { cnt[mn[x]]--; x/=mn[x]; }}int main(){ n=read(),m=read();mk(); if(n<m) swap(n,m); for(int i=1;i<=n-m;i++) del(i); for(int i=m+1;i<=n;i++) add(i); BigInt ans;ans.init();ans[1]=1; for(int i=2;i<=n;i++) while(cnt[i]) { ans=ans*i; cnt[i]--; } ans.print(); return 0;}
0 0
- bzoj4807車
- bzoj4807: 車
- [DP] [组合数学] [BZOJ4807] 車
- bzoj4807 -- 组合数
- 自動車
- 車床操作說明書
- 車床操作說明書
- 新奇特滑板車
- BZOJ 4807(車-高精度)
- 企業搞信息化與坐出租車
- 第八課 放置自転車
- 自行車基本知識 (zz)
- UVA-679車的摆放(DFS)
- [BZOJ]4807: 車 组合数学+高精度
- [BZOJ]4807: 車 组合数学+高精度
- 【聯強EMBA】到隔壁便利商店買東西,不要開車!
- 日经社説 20141218 安全を徹底し車の信頼回復を
- 分析解讀北京賽車技巧六碼七碼計劃規律
- 【模拟试题】技能树 树形DP
- 常用的几种排序算
- 将html文件统一改成jsp文件
- 八皇后问题(递归+回溯法)
- 华为机试题(2017/04/01)
- bzoj4807車
- 5.多个线程访问共享对象和数据的方式
- 安卓工程师入门——ListView
- 盘点各编程语言中有趣的开源项目!
- nyist737 石子合并
- PX4应用实例3:px4_simple_app
- JavaScript操作表格和选择框
- linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案
- ccf地铁修建