[组合数学] BZOJ 2227 [Zjoi2011]看电影(movie)
2017-03-13 13:19
337 查看
答案是 (K+1)n−1∗(K+1−n)Kn
证明很妙啊
先加上一个位置并看成一个环,那么方案数就是(K+1)n,并且可以保证一定合法,因为是环,又因为是环可以转有K+1个方案重复了,所以实际上是(K+1)n−1。
拆掉一个空座位回到原问题,因为是空位,所以一定没有人跨过去,任何一个空位都可拆,那么拆的方案数是K+1−n
分解什么质因数 K和K+1是互质的啊
证明很妙啊
先加上一个位置并看成一个环,那么方案数就是(K+1)n,并且可以保证一定合法,因为是环,又因为是环可以转有K+1个方案重复了,所以实际上是(K+1)n−1。
拆掉一个空座位回到原问题,因为是空位,所以一定没有人跨过去,任何一个空位都可拆,那么拆的方案数是K+1−n
分解什么质因数 K和K+1是互质的啊
#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #define cl(x) memset(x,0,sizeof(x)) #define read(x) scanf("%d",&(x)) using namespace std; inline int Gcd(int a,int b){ return !b?a:Gcd(b,a%b); } const int CON=100000; struct Int{ int a[1000]; Int(int x=0){ cl(a); a[++*a]=x; } Int &operator *=(int t){ for (int i=1;i<=*a;i++) a[i]*=t; for(int i=1;i<=*a+10;i++) a[i+1]+=a[i]/CON,a[i]%=CON; for(int i=*a+10;i;i--) if (a[i]) { *a=i; return *this; } } void print(){ printf("%d",a[*a]); for(int i=*a-1;i;i--) printf("%05d",a[i]); } }A,B; int main(){ int Q,n,K; freopen("movie.in","r",stdin); freopen("movie.out","w",stdout); read(Q); while (Q--){ read(n); read(K); if (K<n) { printf("0 1\n"); continue; } A=Int(1); B=Int(1); int x=K+1-n,g; for(int i=1;i<=n-1;i++) g=Gcd(K,x),x/=g,A*=K+1,B*=K/g; g=Gcd(K,x),x/=g,A*=x,B*=K/g; A.print(); putchar(' '); B.print(); putchar('\n'); } return 0; }
相关文章推荐
- [BZOJ2227][Zjoi2011][找规律][排列组合][数学]看电影(movie)
- [BZOJ2227][Zjoi2011]看电影(movie)(组合数学+高精)
- 【BZOJ2227】【ZJOI2011】看电影 [组合数][质因数分解]
- BZOJ2227 [Zjoi2011]看电影(movie)
- 2227: [Zjoi2011]看电影(movie)
- 2227: [Zjoi2011]看电影(movie)
- BZOJ 2111 ZJOI2010 Perm 排列计数 组合数学+Lucas定理
- [BZOJ2111][ZJOI2010]Perm排列计数(组合数学)
- bzoj2227: [Zjoi2011]看电影(movie)
- bzoj 2111: [ZJOI2010]Perm 排列计数 (组合数学+Lucas定理)
- [BZOJ2111][ZJOI2010]Perm 排列计数(组合数学+lucas定理)
- 【bzoj2339】【HNOI2011】【卡农】【组合数学+dp】
- BZOJ 2339 HNOI2011 卡农 组合数学
- 【组合数学】LGP3330(ZJOI2011)+UOJ#209
- BZOJ 2302([HAOI2011]Problem c-组合数学)
- [bzoj2111][ZJOI2010]Perm 排列计数(组合数学)
- BZOJ 2111: [ZJOI2010]Perm 排列计数(简单组合数学)
- [ZJOI2011]看电影(MOVIE)
- BZOJ2302: [HAOI2011]Problem c|动态规划|组合数学
- bzoj 2339: [HNOI2011]卡农 组合数学+递推