http://www.lydsy.com/JudgeOnline/problem.php?id=4517

组合数+错排公式

#include<cstdio>
#include<iostream>using namespace std;#define N 1000001const int mod=1e9+7;long long fac[N],inv[N],f[N];void read(int &x)
{x=0; char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) { x=x*10+c-'0'; c=getchar(); }
}int Pow(long long a,int b)
{long long res=1;for(;b;a=a*a%mod,b>>=1)if(b&1) res=res*a%mod;return res;
}int main()
{freopen("permutation.in","r",stdin);freopen("permutation.out","w",stdout);fac[0]=fac[1]=1;for(int i=1;i<N;++i) fac[i]=fac[i-1]*i%mod;inv[0]=inv[1]=1;for(int i=1;i<N;++i) inv[i]=Pow(fac[i],mod-2); f[0]=f[2]=1;for(int i=3;i<N;++i) f[i]=(i-1)*(f[i-1]+f[i-2])%mod;int T,n,m;read(T);while(T--){read(n); read(m);printf("%d\n",int(f[n-m]*fac[n]%mod*inv[m]%mod*inv[n-m]%mod));}fclose(stdin); fclose(stdout);    return 0;
}

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/8573333.html

bzoj千题计划282:bzoj4517: [Sdoi2016]排列计数相关推荐

  1. bzoj千题计划277:bzoj4513: [Sdoi2016]储能表

    http://www.lydsy.com/JudgeOnline/problem.php?id=4513 f[i][0/1][0/1][0/1] 从高到低第i位,是否卡n的上限,是否卡m的上限,是否卡 ...

  2. BZOJ 2150. 部落战争(最小路径覆盖问题)【BZOJ千题计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 刷题就图一乐 题目链接 https://hydro.ac/d/bzoj/p/2150 是 hydro ...

  3. BZOJ 2151 种树(可反悔贪心,链表)【BZOJ千题计划】就图一乐

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2151 是 hydro 的 BZOJ ...

  4. BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/1799(样例时限设置有问题,应该为 2 ...

  5. bzoj千题计划143:bzoj1935: [Shoi2007]Tree 园丁的烦恼

    http://www.lydsy.com/JudgeOnline/problem.php?id=1935 二维偏序问题 排序x,离散化树状数组维护y #include<cstdio> #i ...

  6. bzoj千题计划128:bzoj4552: [Tjoi2016Heoi2016]排序

    http://www.lydsy.com/JudgeOnline/problem.php?id=4552 二分答案 把>=mid 的数看做1,<mid 的数看做0 这样升序.降序排列相当于 ...

  7. bzoj千题计划237:bzoj1492: [NOI2007]货币兑换Cash

    http://www.lydsy.com/JudgeOnline/problem.php?id=1492 dp[i] 表示 第i天卖完的最大收益 朴素的dp: 枚举从哪一天买来的在第i天卖掉,或者是不 ...

  8. bzoj千题计划207:bzoj1879: [Sdoi2009]Bill的挑战

    http://www.lydsy.com/JudgeOnline/problem.php?id=1879 f[i][j] 表示匹配了i个字符,匹配字符串的状态为j的方案数 枚举下一个字符是什么 计算加 ...

  9. bzoj千题计划153:bzoj2431: [HAOI2009]逆序对数列

    http://www.lydsy.com/JudgeOnline/problem.php?id=2431 dp[i][j] 表示i的排列,有j个逆序对的方案数 加入i+1,此时i+1是排列中最大的数, ...

最新文章

  1. libev源码解析——监视器(watcher)结构和组织形式
  2. python简单网页服务器示例
  3. HDOJ2020 ( 绝对值排序 ) 【水题】
  4. 嘘!阿里程序媛上班的第一件事是...
  5. Atitit。DD dragdrop拖拽功能c#.net java swing的对比与实现总结
  6. 【WebRTC---入门篇】(十)NAT
  7. 解决后端返回数据中的大数字问题(使用第三方包json-bigint )
  8. ZZULIOJ 1064:加密字符
  9. 复杂的权限按钮控制优化
  10. Python基本数据类型之字典
  11. C++二叉链表遍历理论基础
  12. 【原创】MySQL Replay线上流量压测工具
  13. vue 加入对比 3种方法
  14. 单声道,立体声 ,功放驱动喇叭的功率选择,功放的适配(A类,B类。。),怎样测量音量信号--怎样不烧坏喇叭。
  15. excel查找空值快捷键_Excel之定位和查找(一)
  16. 机智的技术童鞋,你能解开这个贺岁彩蛋吗?
  17. java计算机毕业设计消防网站源代码+数据库+系统+lw文档
  18. win11安卓子系统WSA的安装和使用
  19. docx行间距怎么设置_word全文行距怎么设置
  20. C#操作IIS的代码

热门文章

  1. kotlin获取属性_Kotlin程序获取系统MAC地址
  2. Java——集合(模拟斗地主洗牌和发牌进行排序)
  3. 大数问题(C++、Java)
  4. bs架构 erp 进销存_从依赖经验到用柔性ERP,企业少走了多少弯路?
  5. BZOJ 2818——Gcd
  6. uva 10163——Storage Keepers
  7. Makefile使用及多文件gdb 调试
  8. shell生成随机文件名
  9. Linux配置编程环境+云服务器上传文件
  10. 【Leetcode | 顺序刷题】数学目录