[错排] BZOJ2034:「SDOI2016」排列计数
来源:互联网 发布:模架编程培训要多久 编辑:程序博客网 时间:2024/06/05 02:00
大水题。
主要是记一下错排的公式。顺便水一水
递推公式:
推导过程大概是,考虑数字
还有一个公式就是
#include<cstdio>#include<algorithm>using namespace std;typedef long long LL;const int maxn=1000005,MOD=1e9+7,N=1000000;typedef long long LL;int _test,n,m;LL f[maxn],fac[maxn],fac_inv[maxn],inv[maxn];LL C(int n,int m){ return fac[n]*fac_inv[m]%MOD*fac_inv[n-m]%MOD; }int main(){ freopen("loj2034.in","r",stdin); freopen("loj2034.out","w",stdout); fac[0]=1; for(int i=1;i<=N;i++) fac[i]=fac[i-1]*i%MOD; inv[1]=1; for(int i=2;i<=N;i++) inv[i]=(LL)(MOD-MOD/i)*inv[MOD%i]%MOD; fac_inv[0]=1; for(int i=1;i<=N;i++) fac_inv[i]=fac_inv[i-1]*inv[i]%MOD; f[0]=1; f[1]=0; for(int i=2;i<=N;i++) f[i]=((LL)i-1)*(f[i-1]+f[i-2])%MOD; scanf("%d",&_test); while(_test--){ scanf("%d%d",&n,&m); printf("%d\n",C(n,m)*f[n-m]%MOD); } return 0;}
阅读全文
0 0
- [错排] BZOJ2034:「SDOI2016」排列计数
- loj #2034. 「SDOI2016」排列计数(错排)
- bzoj4517 sdoi2016 排列计数 错排
- [组合 错排] BZOJ 4517 [Sdoi2016]排列计数
- [BZOJ4517][Sdoi2016]排列计数(错排+组合数)
- BZOJ 4517: [Sdoi2016]排列计数 组合数 错排公式
- bzoj 4517: [Sdoi2016]排列计数(错排+组合数逆元)
- bzoj4517 [Sdoi2016]排列计数 (错排 + 组合数)
- 【组合+错排】BZOJ4517(Sdoi2016)[排列计数]题解
- [bzoj4517][SDOI2016]排列计数
- bzoj4517: [Sdoi2016]排列计数
- BZOJ4517 [Sdoi2016]排列计数
- bzoj4517【SDOI2016】排列计数
- 【bzoj4517】【SDOI2016】排列计数
- 4517: [Sdoi2016]排列计数
- bzoj4517: [Sdoi2016]排列计数
- BZOJ4517: [Sdoi2016]排列计数
- [Sdoi2016]排列计数
- 常见非关系型数据库(NoSQL)推荐介绍
- NetBeans 配置文件说明
- java学习笔记《java从入门到精通》
- Matlab数值分析K-means聚类算法
- 交换机架构补充RMII
- [错排] BZOJ2034:「SDOI2016」排列计数
- 区块链资料不断收集
- Python-数组
- TabLayout中的Tab间隔设置方法
- 滑动窗:Subsequence
- 日志系列之Log4j2 Garbage-free模式
- [USACO3.1]最短网络 Agri-Net kruskal
- Kotlin_Recyclerview_Rxjava的封装
- android编译中的BUILD_JAVA_LIBRARY