AcWing 230. 排列计数 水题(组合数+错排)打卡
题目:https://www.acwing.com/problem/content/232/
#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
using namespace std;
const int maxn = ;
ll dp[maxn],inv[maxn],fac[maxn],inv_fac[maxn];
void init()
{
inv[]=inv[]=inv_fac[]=fac[]=;
dp[]=;dp[]=;
for(int i=; i<maxn; i++) inv[i]=inv[mod%i]*(mod-mod/i)%mod;
for(int i=; i<maxn; i++) fac[i]=fac[i-]*i%mod;
for(int i=; i<maxn; i++) inv_fac[i]=inv_fac[i-]*inv[i]%mod;
for(int i=; i<maxn; i++) dp[i]=(i-)*(dp[i-]+dp[i-])%mod;
}
ll C(int n,int m)
{
return fac[n]*inv_fac[m]%mod*inv_fac[n-m]%mod;
}
int main()
{
init();
ll n,m,t;
scanf("%lld",&t);
while(t--){
scanf("%lld%lld",&n,&m);
if(n==m) printf("1\n");
else printf("%lld\n",(C(n,m)*dp[n-m])%mod);
}
}
AcWing 230. 排列计数 水题(组合数+错排)打卡的更多相关文章
- 【BZOJ4517】[Sdoi2016]排列计数 组合数+错排
[BZOJ4517][Sdoi2016]排列计数 Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值 ...
- HDU1465 第六周L题(错排组合数)
L - 计数,排列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- HDU - 1716 排列2 水题
排列2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- K - Wand(组合数+错排公式)
N wizards are attending a meeting. Everyone has his own magic wand. N magic wands was put in a line, ...
- BZOJ 4517 组合数+错排
思路: 预处理错排 然后C(n,m)*s[n-m-1]就是答案了 特判n-m-1<0 //By SiriusRen #include <cstdio> using namespace ...
- 【CCPC-Wannafly Winter Camp Day3 (Div1) G】排列(水题)
点此看题面 大致题意:已知 \(p\)为\(n\)的一个排列,定义\(A(p)_i=min_{j=1}^ip_j\),若用\(q_i\)表示\(p\)第\(i\)小的前缀的长度(以值为第一关键字,下标 ...
- hdu 4451 Dressing 排列组合/水题
Dressing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- zzulioj--1707--丧心病狂的计数(水题)
1707: 丧心病狂的计数 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 237 Solved: 105 SubmitStatusWeb Board ...
- Uva11538 排列组合水题
画个图就很容易推出公式: 设mn=min(m,n),mx=max(m,n) 对角线上: 横向:m*C(n,2) 纵向:n*C(m,2) 因为所有的C函数都是只拿了两个,所以可以优化下.不过不优化也过了 ...
随机推荐
- Java总结第一期
神奇的小阳阳阳再度归来,大家一定想我了吧~哦,谢谢,谢谢,谢谢各位的掌声,thank you,thank you@ 第一章: 下面给大家简单介绍Java: Java技术可以应用在几乎所有类型和规模的设 ...
- Linux 性能检测常用的10个基本命令
1. uptime $ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.0212 该命令可以大致的看出计算机的整体 ...
- ALM11服务器IP变更相关配置修改
最近项目新增了网络控制,需要把ALM服务器迁移到新的区域.服务器整体复制后更改了IP地址. ALM与Oracle在同一台服务器(windows server 2008 R2) ALM的配置也需要做如下 ...
- HDU 1205 吃糖果 (鸽巢原理)
题目链接:HDU 1205 Problem Description HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢 ...
- PAT甲级【2019年3月考题】——A1156 SexyPrimes【20】
Sexy primes are pairs of primes of the form (p, p+6), so-named since “sex” is the Latin word for “si ...
- java多线程学习笔记(六)
本节开始synchronized关键字的最后一部分内容: 静态同步方法synchronized方法与synchronized(class)代码块 关键字synchronized还可以用在static静 ...
- c#生成html静态文件时出现空白行,怎么去掉utf-8中的bom
public static void UTF8RemoveBOM(string filepath) { UTF8RemoveBOM(filepath, filepath); } public st ...
- grep与egrep命令
greo -E 等同于 egrep grep常用两种方式 1. grep -c python a.txt 2. cat a.txt | grep -c python a.txt文件如下 i l ...
- Netty 如何实现心跳机制与断线重连?
作者:sprinkle_liz www.jianshu.com/p/1a28e48edd92 心跳机制 何为心跳 所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, ...
- C++大整数类模板
参考 :http://172.21.85.56/oj/resource/reportdetail?report_id=1678 支持 =.abs().pow().+=.-= *=./=.%=.+.-. ...