【组合+错排】BZOJ4517(Sdoi2016)[排列计数]题解
来源:互联网 发布:mac放大窗口的快捷键 编辑:程序博客网 时间:2024/05/19 13:16
题目概述
如果
解题报告
其实很简单……先选出
强制不稳定也就是
错排递推公式:
推导:将
然后若
否则就当
示例程序
#include<cstdio>#include<cctype>using namespace std;typedef long long LL;const int maxn=1000000,MOD=1e9+7;int te,n,m,fac[maxn+5],INV[maxn+5],D[maxn+5];#define Eoln(x) ((x)==10||(x)==13||(x)==EOF)inline char readc(){ static char buf[100000],*l=buf,*r=buf; if (l==r) r=(l=buf)+fread(buf,1,100000,stdin); if (l==r) return EOF;return *l++;}inline int readi(int &x){ int tot=0,f=1;char ch=readc(),lst='+'; while (!isdigit(ch)) {if (ch==EOF) return EOF;lst=ch;ch=readc();} if (lst=='-') f=-f; while (isdigit(ch)) tot=(tot<<3)+(tot<<1)+ch-48,ch=readc(); return x=tot*f,Eoln(ch);}void Make(){ INV[0]=INV[1]=1;for (int i=2;i<=maxn;i++) INV[i]=MOD-(LL)(MOD/i)*INV[MOD%i]%MOD; fac[0]=fac[1]=1;for (int i=2;i<=maxn;i++) fac[i]=(LL)fac[i-1]*i%MOD,INV[i]=(LL)INV[i-1]*INV[i]%MOD; D[0]=1;D[1]=0;for (int i=2;i<=maxn;i++) D[i]=(LL)(i-1)*(D[i-1]+D[i-2])%MOD;}inline int C(int x,int y) {if (x<y) return 0;return (LL)fac[x]*INV[y]%MOD*INV[x-y]%MOD;}int main(){ freopen("program.in","r",stdin); freopen("program.out","w",stdout); for (Make(),readi(te);te;te--) { readi(n);readi(m);if (n<m) {puts("0");continue;} printf("%lld\n",(LL)C(n,m)*D[n-m]%MOD); } return 0;}
阅读全文
0 0
- 【组合+错排】BZOJ4517(Sdoi2016)[排列计数]题解
- [BZOJ4517][Sdoi2016]排列计数(错排+组合数)
- bzoj4517 [Sdoi2016]排列计数 (错排 + 组合数)
- bzoj4517 sdoi2016 排列计数 错排
- 【BZOJ4517】排列计数,组合数+错排
- BZOJ4517 排列计数 [组合数][错排]
- [bzoj4517][Sdoi2016]排列计数(组合数学)
- [bzoj4517][SDOI2016]排列计数
- bzoj4517: [Sdoi2016]排列计数
- BZOJ4517 [Sdoi2016]排列计数
- bzoj4517【SDOI2016】排列计数
- 【bzoj4517】【SDOI2016】排列计数
- bzoj4517: [Sdoi2016]排列计数
- BZOJ4517: [Sdoi2016]排列计数
- bzoj4517: [Sdoi2016]排列计数
- bzoj4517 [Sdoi2016]排列计数
- BZOJ4517 [Sdoi2016][排列计数]
- 【BZOJ4517】【递推】【错排】排列计数 题解
- 中序二叉树、队列实现层次遍历、中序线索二叉树的创建与遍历
- python读取txt各个数字
- 模板 2017-11-09 矩阵 单位化矩阵 矩阵的相乘和快速幂
- 单链表+学生信息管理系统
- 输出乘法口诀表
- 【组合+错排】BZOJ4517(Sdoi2016)[排列计数]题解
- 030day(通过例题了解程序时间复杂度)
- Ubuntu16.04下安装JDK
- Java JUnilt4单元测试
- redis 设置开机启动
- 过滤器、监听器、拦截器的区别杂谈
- kmp模板 hdu1711
- c++ rdbuf流指针重定向
- 《Web接口开发与自动化测试基于Python语言》--第15章