bzoj 4517: [Sdoi2016]排列计数(错排+组合数逆元)
4517: [Sdoi2016]排列计数
Time Limit: 60 Sec Memory Limit: 128 MB
Submit: 1259 Solved: 766
[Submit][Status][Discuss]
Description
Input
Output
输出 T 行,每行一个数,表示求出的序列数
Sample Input
Sample Output
会错排这题一看就发现了
n个中有m个数稳定情况是C(n, m),直接阶乘打标+逆元
然后剩下n-m个数错排,公式是F[n] = (n-1)*(F[n-1]+F[n-2])
最后相乘
错排问题blog(我的):
http://blog.csdn.net/jaihk662/article/details/52251034
#include<stdio.h>
#define LL long long
#define mod 1000000007
LL jc[1000005] = {1,1,2}, F[1000005] = {1,0,1};
LL Pow(LL a, LL b)
{LL ans;ans = 1;while(b){if(b%2==1)ans = (ans*a)%mod;a = (a*a)%mod;b /= 2;}return ans;
}
LL C(LL n, LL m)
{LL ans;if(n<m)return 0;ans = (jc[n]*Pow((jc[m]*jc[n-m])%mod, mod-2)%mod)%mod;return ans;
}
int main(void)
{LL T, n, m, i;for(i=3;i<=1000000;i++){F[i] = (F[i-1]+F[i-2])*(i-1)%mod;jc[i] = jc[i-1]*i%mod;}scanf("%lld", &T);while(T--){scanf("%lld%lld", &n, &m);printf("%lld\n", C(n, m)*F[n-m]%mod);}return 0;
}
bzoj 4517: [Sdoi2016]排列计数(错排+组合数逆元)相关推荐
- BZOJ 4517: [Sdoi2016]排列计数 [容斥原理]
4517: [Sdoi2016]排列计数 题意:多组询问,n的全排列中恰好m个不是错排的有多少个 容斥原理强行推♂倒她 $恰好m个不是错排 $ \[ =\ \ge m个不是错排 - \ge m+1个不 ...
- bzoj 4517: [Sdoi2016]排列计数
4517: [Sdoi2016]排列计数 Time Limit: 60 Sec Memory Limit: 128 MB Submit: 637 Solved: 396 [Submit][Stat ...
- [SDOI2016]排列计数 (错排数概念 + 递推公式【附带证明】)
辛勤二更 题目 题解 错排数概念 错排数递推公式及其证明 代码实现 这种题做的时候: 做完后:正常这就是生活,我们要学会习惯 题目 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n ...
- bzoj4517 [Sdoi2016]排列计数 组合数+错排
这个题描述的本身就很离散,所以就相当于选出m个位置,剩下的位置的错排 错排的公式也不是很难推,注意及时利用以前的结果就好了,实在不行根据印象打表找规律 设有n个数 ,n个位置,第一个数一定不能选第一 ...
- bzoj千题计划282:bzoj4517: [Sdoi2016]排列计数
http://www.lydsy.com/JudgeOnline/problem.php?id=4517 组合数+错排公式 #include<cstdio> #include<ios ...
- P4071-[SDOI2016]排列计数【组合计数,错排】
正题 题目链接:https://www.luogu.com.cn/problem/P4071 题目大意 每次询问n,mn,mn,m.求有多少个nnn的排列使得ai=ia_i=iai=i的数量恰好为m ...
- [SDOI2016]排列计数
Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...
- BZOJ4517: [Sdoi2016]排列计数
Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...
- [ZJOI2010] 排列计数(dp + 组合数)
problem luogu-P2606 solution 我们对 i−⌊i2⌋i-\lfloor\frac i2\rfloori−⌊2i⌋ 远没有 i−2∗i,2∗i+1i-2*i,2*i+1i−2 ...
最新文章
- 利用nofllow与内页链接做好SEO
- asp.net用Zxing库实现条形码输出
- python常用标准库有哪些-Python - 常用标准库
- android 菱形布局,Android 设计一个菱形形状的Imageview组件.
- 36.rustc编译参数.txt
- python 字符串替换_Python基础教程,第四讲,字符串详解
- java赋值语句_java并发编程之原子性问题
- 华为路由器http诊断失败_高端家庭的标配,华为路由Q2 Pro是路由器中的吴彦祖...
- jqgrid如何渲染表格数据_Jqgrid入门-操作表格的数据(二)
- .net core 获取binary 文件_Linux操作系统文件目录
- 【ORACLE】ORA-12547: TNS:lost contact
- 用库仑计方法来计量电池容量
- stm32---步进电机驱动器接口电路,共阴
- Java求抛物线输入角度速度_知道初速度和抛物线的角度,怎么计算落点
- 怎么把原本一页的PDF拆分成单独的两页?
- 第22章 常用存储器介绍
- pathrewrite不生效_Vue使用Proxy代理后仍无法生效的解决
- moment的使用在vue项目中的使用 (亲测有效)
- 【第57题】输入、输出系列5-文件锁定功能
- UpdatePanel和ScriptManager实现免刷新获取数据