P4071 [SDOI2016]排列计数 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 满足条件的序列可能很多,序列数对 $10^9+7$取模. 显然此题的答案就是$C(n,m)*d[n-m]$ 求解组合数$C(n,m)$使用通项公式$\frac{n!}{m!\times (n-m)!}$ 由于$n,m$很大,所以要预处理出$n!$ 由于$10^9+7$是个质…
P4071 [SDOI2016]排列计数 题目描述 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 满足条件的序列可能很多,序列数对 \(10^9+7\) 取模. 输入格式 第一行一个数 T,表示有 T 组数据. 接下来 T 行,每行两个整数 n.m. 输出格式 输出 T 行,每行一个数,表示求出的序列数 输入输出样例 输入 #1 5 1 0 1 1 5 2 1…
题目传送门 排列计数 题目描述 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 满足条件的序列可能很多,序列数对 $10^9+7$ 取模. 输入输出格式 输入格式: 第一行一个数 T,表示有 T 组数据. 接下来 T 行,每行两个整数 n.m. 输出格式: 输出 T 行,每行一个数,表示求出的序列数 输入输出样例 输入样例#1: 5 1 0 1 1 5 2 10…
洛谷 这是一道组合数学题. 对于一个长为n的序列,首先我们要选m个使之稳定\(C^{m}_{n}\). 且要保证剩下的序列不稳定,即错排\(D_{n-m}\). 所以答案就是:\[ANS=C^{m}_{n}+D_{n-m}\] 再看看数据范围:n最大\(10^6\),错排好办,直接递推: \[D[i]=(i-1)*(D[i-1]+D[i-2])\] D[0]=1,D[1]=0. 而组合数部分有点麻烦.\[C[i][j]=C[i-1][j]+C[i-1][j-1]\] 用上面这个公式可以做1000…
P2606 [ZJOI2010]排列计数 题目描述 称一个\(1,2,...,N\)的排列\(P_1,P_2...,P_n\)是\(Magic\)的,当且仅当对所以的\(2<=i<=N\),有\(P_i>P_{\lfloor i/2 \rfloor}\). 计算\(1,2,...N\)的排列中有多少是\(Magic\)的,答案可能很大,只能输出模\(P\)以后的值 输入输出格式 输入格式: 输入文件的第一行包含两个整数\(n\)和\(p\),含义如上所述. 输出格式: 输出文件中仅包含一…
题意 题目链接 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值 Sol 这辈子做不出的计数系列. 一眼小根堆没啥好说的.最关键的一点是:树的形态是可以递推出来的. 那么当前点$i$为根节点,大小为$siz[i]$,左/右儿子分别为$ls, rs$ 那么$f[i] = C_{siz[i] - 1}^{siz[ls]} f[ls] \times…
题链: https://www.luogu.org/problemnew/show/P2606题解: 组合数(DP),Lucas定理 首先应该容易看出,这个排列其实是一个小顶堆. 然后我们可以考虑dp: 令F[i]为小顶堆的i号节点那棵子树的方案数: F[i]=F[i*2]*F[i*2+1]*C(size[i]-1,size[i*2]) 含义就是左儿子的方案数*右儿子的方案数*当前i节点取走最小的那个值后分size[i*2]个数给左儿子的方案数. (BZOJ上数据加强,可能会N>P,所以如果直接…
题目描述 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 满足条件的序列可能很多,序列数对 109+7 取模. 输入输出格式 输入格式: 第一行一个数 T,表示有 T 组数据. 接下来 T 行,每行两个整数 n.m. 输出格式: 输出 T 行,每行一个数,表示求出的序列数 输入输出样例 输入样例#1: 5 1 0 1 1 5 2 100 50 10000 500…
题目描述 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值 输入输出格式 输入格式: 输入文件的第一行包含两个整数 n和p,含义如上所述. 输出格式: 输出文件中仅包含一个整数,表示计算1,2,⋯, ���的排列中, Magic排列的个数模 p的值. 输入输出样例 输入样例#1: 20 23 输出样例#1: 16 说明 100%的数据中,1…
题目描述 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值 输入输出格式 输入格式: 输入文件的第一行包含两个整数 n和p,含义如上所述. 输出格式: 输出文件中仅包含一个整数,表示计算1,2,⋯, ���的排列中, Magic排列的个数模 p的值. 输入输出样例 输入样例#1: 复制 20 23 输出样例#1: 复制 16 说明 100%的…