正题

题目链接:https://www.luogu.com.cn/problem/P4071


题目大意

每次询问n,mn,mn,m。求有多少个nnn的排列使得ai=ia_i=iai​=i的数量恰好为mmm个。


解题思路

首先nnn个之中选择mmm个ai=ia_i=iai​=i,选择的方案数为CnmC_{n}^mCnm​。剩下的错排就好了

错排推导di=(i−1)(di−1+di−2)d_i=(i-1)(d_{i-1}+d_{i-2})di​=(i−1)(di−1​+di−2​)

所以答案就是Cnm∗dn−mC_n^m*d_{n-m}Cnm​∗dn−m​

预处理即可。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1e6+10,XJQ=1e9+7;
ll T,n,m,d[N],fac[N];
ll power(ll x,ll b)
{ll ans=1;while(b){if(b&1) ans=ans*x%XJQ;x=x*x%XJQ;b>>=1;}return ans;
}
ll C(ll n,ll m)
{return fac[n]*power(fac[m]*fac[n-m]%XJQ,XJQ-2)%XJQ;}
int main()
{scanf("%lld",&T);d[0]=d[2]=fac[1]=fac[0]=1;fac[2]=2;for(ll i=3;i<=1000000;i++)fac[i]=fac[i-1]*i%XJQ,d[i]=(i-1)*(d[i-1]+d[i-2])%XJQ;while(T--){scanf("%lld%lld",&n,&m);printf("%lld\n",C(n,m)*d[n-m]%XJQ);}
}

P4071-[SDOI2016]排列计数【组合计数,错排】相关推荐

  1. 排列组合之错排问题总结

    目测最近要刷刷关于排列组合的题目... 所以现在将遇到的那些熟悉却已经忘记的问题都总结一下.. 第一发: 错排以及错排公式 其实错排问题对于程序算法而言,就是递归问题.因为错排的理解其实就是相当于阶乘 ...

  2. 【BZOJ4517】排列计数,组合数+错排

    传送门 题意就是数字1-n任意排列,要求有m个数,放在它们各自对应的位置上(就是1放在位置1上,2放在位置2上--),剩下n-m个数全部不在对应的位置上(比如3不在位置3上,4不在位置4上),求排列的 ...

  3. 竞赛图强连通分量大小幂和计数 - 组合计数 - 多项式

    题目大意:求所有nnn个点带标号竞赛图的强连通分量大小的kkk次方之和的和,对998244353599824435359982443535模数取模.n≤105,k≤998244352n\le10^5, ...

  4. HDU:4535 吉哥系列故事——礼尚往来(数学:错排)

    吉哥系列故事--礼尚往来 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  5. LeetCode-Python-634. 寻找数组的错位排列(数学 + 错排公式)

    在组合数学中,如果一个排列中所有元素都不在原先的位置上,那么这个排列就被称为错位排列. 给定一个从 1 到 n 升序排列的数组,你可以计算出总共有多少个不同的错位排列吗? 由于答案可能非常大,你只需要 ...

  6. 杭电2068RPG的错排

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  7. bzoj 4517: [Sdoi2016]排列计数(错排+组合数逆元)

    4517: [Sdoi2016]排列计数 Time Limit: 60 Sec  Memory Limit: 128 MB Submit: 1259  Solved: 766 [Submit][Sta ...

  8. [SDOI2016]排列计数 (错排数概念 + 递推公式【附带证明】)

    辛勤二更 题目 题解 错排数概念 错排数递推公式及其证明 代码实现 这种题做的时候: 做完后:正常这就是生活,我们要学会习惯 题目 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n ...

  9. bzoj4517 [Sdoi2016]排列计数 组合数+错排

    这个题描述的本身就很离散,所以就相当于选出m个位置,剩下的位置的错排 错排的公式也不是很难推,注意及时利用以前的结果就好了,实在不行根据印象打表找规律 设有n个数  ,n个位置,第一个数一定不能选第一 ...

最新文章

  1. github上删除一个仓库
  2. 程序员必备网站之一:No Design
  3. linux /etc/fstab 挂载列表 简介
  4. kubernetes资源控制与及ingress插件安装(容忍策略)
  5. IntelliJ IDEA 超全优化设置,效率杠杠的!
  6. BZOJ 1051 受欢迎的牛(Tarjan缩点)
  7. python是烂语言吗
  8. 商汤科技「工业视觉AI」研发介绍
  9. (完美解决)Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
  10. nginx ngx_http_auth_basic_module(Basic Authentication)
  11. Android 解压zip文件
  12. 【转】15个超炫的HTML5效果
  13. python中的commands模块
  14. VBS脚本病毒原理分析与防范
  15. STL源码剖析(一)
  16. 从计算、建模到回测:因子挖掘的最佳实践
  17. 压紧力变化的平均值matlab,基于MATLAB遗传算法的汽车拉式离合器膜片弹簧结构参数优化设计...
  18. wso2 mysql,WSO2 DAS +具有MySQL的集群APIM
  19. Python Tkinter Text控件随输入自动拓展到尾行
  20. 最新年龄估计综述(Deep learning approach for facial age classification: a survey of the state of the art)

热门文章

  1. cgi备份还原和ghost有什么区别_手动GHOST还原重装系统详细教程
  2. python气象数据处理与绘图_Python气象数据处理与绘图:纬高图的另一种思路
  3. php获取域名方法,PHP实现获取域名的方法小结
  4. html文件上传添加额外参数,bootstrap-fileinput组件在上传时传递额外参数
  5. leetcode56. 合并区间
  6. html css图标怎么跟文字并排,html - FA图标和文字环绕的HTML / CSS问题 - SO中文参考 - www.soinside.com...
  7. ciclop读音,购机必备,15种 3D扫描 设备 优缺点汇总
  8. [JavaWeb]web相关概念回顾
  9. [Java基础]自定义注解之属性定义
  10. [Java基础]Stream流终结操作之forEachcount