bzoj3907: 网格
来源:互联网 发布:写c语言是用记事本么 编辑:程序博客网 时间:2024/05/17 03:59
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3907
题意:中文题。。。
分析:用卡特兰数的非常规法证明F[n]=C(2*n,n)-C(2*n,n-1)那种方法可以分析出这题的答案为C(n+m,n)-C(n+m,n+1),详见百度百科,再用高精度处理一下即可。
代码:
#include<map>#include<set>#include<cmath>#include<queue>#include<math.h>#include<cstdio>#include<vector>#include<string>#include<cstring>#include<iostream>#include<algorithm>#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;const int N=10010;const int MAX=151;const int MOD1=100000007;const int MOD2=100000009;const double EPS=0.00000001;typedef long long ll;const ll MOD=1000000007;const ll INF=10000000010;typedef unsigned long long ull;int a[N],b[N],q[N],num[N];void deal(int n) { int i,j,k=0; memset(q,0,sizeof(q)); for (i=2;i<=n;i++) { if (!q[i]) { a[++k]=i;b[i]=i; } for (j=1;j<=k;j++) { if (a[j]*i>n) break ; q[a[j]*i]=1;b[a[j]*i]=a[j]; if (i%a[j]==0) break ; } }}int ans[N];void mul(int x) { for (int i=1;i<=ans[0];i++) ans[i]*=x; for (int i=1;i<ans[0];i++) { ans[i+1]+=ans[i]/10;ans[i]%=10; } while (ans[ans[0]]>9) { ans[ans[0]+1]=ans[ans[0]]/10; ans[ans[0]]%=10;ans[0]++; }}int main(){ int i,j,n,m; scanf("%d%d", &n, &m); deal(n+m); for (i=1;i<=n;i++) num[i]--; for (i=1;i<=m;i++) num[i]--; for (i=1;i<=n+m;i++) num[i]++; num[n-m+1]++;num[n+1]--; for (i=n+m;i>1;i--) if (!q[i]) continue ; else { num[b[i]]+=num[i];num[i/b[i]]+=num[i];num[i]=0; } memset(ans,0,sizeof(ans)); ans[0]=ans[1]=1; for (i=2;i<=n+m;i++) for (j=1;j<=num[i];j++) mul(i); for (i=ans[0];i>0;i--) printf("%d", ans[i]); printf("\n"); return 0;}
0 0
- bzoj3907: 网格
- 网格[bzoj3907]
- BZOJ3907 网格
- 【BZOJ3907】网格 组合数,补集转换
- 高精+卡特兰数 bzoj3907网格
- BZOJ3907
- [BZOJ3907]网格(卡特兰数+组合数学+高精度)
- 网格
- 网格
- 网格
- 网格
- 网格与无网格
- 多重网格、自适应网格和无网格
- 网格概念
- 网格入口
- 网格计算
- 网格乱弹
- 网格计算
- Spring Autowired
- makefile中的为目标如何理解
- 欢迎使用CSDN-markdown编辑器
- Swift的闭包
- Apache shiro 笔记整理之web整合二
- bzoj3907: 网格
- 用户管理系统——查询所有用户
- SSLVPN实现研究之1
- CF630K:Indivisibility(容斥)
- Java实现几种常见排序算法代码
- java获取泛型参数的类型的方法 - 实例讲解
- FMDB
- Hdu 2896 病毒侵袭
- C++面向对象编程分享----20160301_李楚煌