博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P4071 [SDOI2016]排列计数
阅读量:5902 次
发布时间:2019-06-19

本文共 917 字,大约阅读时间需要 3 分钟。

首先一看应该是组合数的问题,但我们选出m个数之后,其他的数就不能再排在它原本的位置,所以又需要错排求出方案数。

错牌公式递推式:

d[2]=1,d[0]=1,d[1]=0。d[i]=(i-1)*(d[i-1]+d[i-2])

又由乘法原理可得出总方案数。

注意:阶乘,逆元,错排都要预处理出来,否则T到飞起。

未预处理代码:

#include
using namespace std;const int maxn=1e6+7;int T;long long n,m;long long d[maxn];const int mod=1e9+7;long long ksm(long long a,long long b){ long long base=1; while(b){ if(b&1) base=base*a%mod; b>>=1; a=a*a%mod; } return base;}long long C(long long n,long long m){ if(n

预处理过后:

#include
using namespace std;const int maxn=1e6+7;int T;long long n,m;long long d[maxn];long long inv[maxn];long long f[maxn];const int mod=1e9+7;long long ksm(long long a,long long b){ long long base=1; while(b){ if(b&1) base=base*a%mod; b>>=1; a=a*a%mod; } return base;}long long C(long long n,long long m){ if(n

 

转载于:https://www.cnblogs.com/LJB666/p/11011705.html

你可能感兴趣的文章
将Java应用部署到SAP云平台neo环境的两种方式
查看>>
数据批量导入Oracle数据库
查看>>
调用lumisoft组件发邮件 不需要身份验证 不需要密码
查看>>
DW 正则
查看>>
抓屏原理
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
Apple Developer Registration and DUNS Number Not Accepted
查看>>
Hadoop学习笔记系列文章导航
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
PHP如何学习?
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
NG-ZORRO-MOBILE 0.11.9 发布,基于 Angular 7 的 UI 组件
查看>>
我就是一个救火员(DBA救援)
查看>>