中链接:

https://www.nowcoder.com/acm/contest/144/C

题意:

给定n个集合, 要求用n次操作, 第i次操作用1~m中一个数填入 i ~ n个集合中, 集合无序而且元素不重复。

分析:

因为要填入i ~ n个集合中, 所以考虑最后一个集合, 其实每个数只有第一次出现才是有效的, 假设有k个数出现(我们可以枚举这个k), 那么这k个数的排列就是

因为第一个数是不会有影响的, 所以可以把k个数的第一个放到第一位。

剩下的(k-1)个数要放进(n-1)个格子中有种方法, 其实这些位置就是这个数第一次出现的位置, 剩余n-k的位置其实是没有贡献的。

答案就是

拆开看第k项就是

那么可以从k = 1递推,

特殊地ans[1] = m

ans[2] = ans[1] * (m-1) * (n-1) / 1

ans[3] = ans[2] * (m-2) * (n-2) / 2...

注意求模跟逆元就行了

#include<bits/stdc++.h>
using namespace std;
const long long MOD = ;
const int maxN = 1e6;
long long inv(long long a, long long b){
long long sum = ;
while(b){
if(b & ) sum = sum * a % MOD;
b /= ;
a = a * a % MOD;
}
return sum;
}
long long n, m, Min;
long long Inv[maxN + ]; //a() c(n,m)
void init() {
Inv[] = ;
long long _ = ;
for(int i = ; i <= maxN; i++){
Inv[i] = inv(i, MOD - );
}
}
int main() {
init();
int T;
scanf("%d", &T);
for(int kase = ; kase <= T; kase++) {
scanf("%lld %lld",&n , &m);
Min = min(n, m); m %= MOD, n %= MOD; long long ans = m;
long long sum = m;
for(int i = ; i < Min; i++){
sum = sum * (m - i) % MOD * (n - i) % MOD * Inv[i] % MOD;
ans += sum;
ans %= MOD;
}
printf("Case #%d: %lld\n",kase, ans);
}
}

牛客网暑期ACM多校训练营(第六场) C Generation I(组合数学, 逆元)的更多相关文章

  1. Symmetric Matrix 牛客网暑期ACM多校训练营(第一场) B dp 组合数学

    Count the number of n x n matrices A satisfying the following condition modulo m. * Ai, j ∈ {0, 1, 2 ...

  2. 牛客网 暑期ACM多校训练营(第二场)A.run-动态规划 or 递推?

    牛客网暑期ACM多校训练营(第二场) 水博客. A.run 题意就是一个人一秒可以走1步或者跑K步,不能连续跑2秒,他从0开始移动,移动到[L,R]的某一点就可以结束.问一共有多少种移动的方式. 个人 ...

  3. 牛客网 暑期ACM多校训练营(第一场)A.Monotonic Matrix-矩阵转化为格子路径的非降路径计数,Lindström-Gessel-Viennot引理-组合数学

    牛客网暑期ACM多校训练营(第一场) A.Monotonic Matrix 这个题就是给你一个n*m的矩阵,往里面填{0,1,2}这三种数,要求是Ai,j⩽Ai+1,j,Ai,j⩽Ai,j+1 ,问你 ...

  4. 2018牛客网暑期ACM多校训练营(第二场)I- car ( 思维)

    2018牛客网暑期ACM多校训练营(第二场)I- car 链接:https://ac.nowcoder.com/acm/contest/140/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 ...

  5. 牛客网暑期ACM多校训练营(第一场) - J Different Integers(线段数组or莫队)

    链接:https://www.nowcoder.com/acm/contest/139/J来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048 ...

  6. 牛客网暑期ACM多校训练营(第九场) A题 FWT

    链接:https://www.nowcoder.com/acm/contest/147/A来源:牛客网 Niuniu has recently learned how to use Gaussian ...

  7. 牛客网暑期ACM多校训练营(第九场)D

    链接:https://www.nowcoder.com/acm/contest/147/D来源:牛客网 Niuniu likes traveling. Now he will travel on a ...

  8. 牛客网暑期ACM多校训练营(第二场)B discount

    链接:https://www.nowcoder.com/acm/contest/140/B来源:牛客网 题目描述 White Rabbit wants to buy some drinks from ...

  9. 2018牛客网暑期ACM多校训练营(第一场)D图同构,J

    链接:https://www.nowcoder.com/acm/contest/139/D来源:牛客网 同构图:假设G=(V,E)和G1=(V1,E1)是两个图,如果存在一个双射m:V→V1,使得对所 ...

  10. 牛客网暑期ACM多校训练营(第二场) I Car 思维

    链接:https://www.nowcoder.com/acm/contest/140/I来源:牛客网 White Cloud has a square of n*n from (1,1) to (n ...

随机推荐

  1. 安装dubbo的监控中心dubbo-monitor-simple

    1.下载dubbo-monitor-simple 2.修改配置指定注册中心地址 进入dubbo-monitor-simple\src\main\resources\conf目录修改 dubbo.pro ...

  2. 安装wamp时出现httpd.exe无法找到组件MSVCR100.dll的解决办法

    很多朋友在安装wamp server时会出现以下错误,安装之后无法启动httpd.exe服务. --------------------------- httpd.exe - 无法找到组件 ----- ...

  3. Python3 配置文件(configparser)(转载)

    本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/rozol/article/details/72793304 以下代码以Python3.6.1为例 L ...

  4. 前端之CSS常见兼容性问题

    1.双倍浮动BUG: 描述:块状元素设置了float属性后,又设置了横向的margin值,在IE6下显示的margin值要比设置的值大: 解决方案:给float的元素添加 display:inline ...

  5. 使用nginx+tomcat实现静态和动态页面的分离

    博主最近在优化一个javaweb项目,该项目之前一直都是使用tomcat处理用户请求的,无论静态还是动态的东西,一律交给tomcat处理.tomcat主要是负责处理servlet的,静态的文件还是交给 ...

  6. Java设计模式开篇

    在所有的设计模式开篇中,总是说一个好的架构,或多或少都会有设计模式的出现.当然或多或少也会使用设计模式的相关原则: SOLID+迪米尔原则 1.优化代码的第一步:单一职责原则 S:单一职责链原则:英文 ...

  7. leetcode982 Triples with Bitwise AND Equal To Zero

    思路: 使用unordered_map暴力枚举. 实现: #include <bits/stdc++.h> using namespace std; class Solution { pu ...

  8. uvm_reg_item——寄存器模型(五)

    uvm_reg_item 扩展自uvm_sequence_item,也就说寄存器模型定义了transaction item. adapter 的作用是把这uvm_reg_item转换成uvm_sequ ...

  9. 【数据库-Azure SQL Database】JDBC 如何连接 SQL Azure 数据库

    使用 JAVA 代码连接 Azure SQL Database 时产生了 SSL 错误,对于此问题大多数用户都是因为不知如何编写 JDBC 连接字符串而产生的,以下为相关示例代码,供您参考:   pa ...

  10. 面向 AWS 专家的 Azure 云服务介绍

    本文是面向 AWS 专家的 Azure 云服务介绍,参考本文可以帮助大家“按图索骥”在 Azure 的平台上找到能满足自己需求的服务. 公有云市场经过多年发展,已经涌现出几家大规模的提供商,如 Azu ...