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

本文共 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

你可能感兴趣的文章
C#时间截
查看>>
C语言程序设计II—第九周教学
查看>>
C# 获取系统时间及时间格式转换
查看>>
WCF、WebAPI、WCFREST、WebService之间的区别
查看>>
2018-2019-2-20175332-实验四《Android程序设计》实验报告
查看>>
全栈12期的崛起之捡点儿有用的说说
查看>>
基础类型
查看>>
属性动画
查看>>
标识符
查看>>
Swift 常量&变量
查看>>
Sqli labs系列-less-4 这关好坑!!!
查看>>
路由跟踪工具0trace
查看>>
给大家分享一张CSS选择器优选级图谱 !
查看>>
Win7中不能调试windows service
查看>>
T-SQL触发器,限制一次只能删除一条数据
查看>>
boost库使用:vs2013下boost::container::vector编译出错解决
查看>>
通过httplib2 探索的学习的最佳方式
查看>>
理解运算符重载 4
查看>>
快来熟练使用 Mac 编程
查看>>
第二周
查看>>