备战蓝桥杯---组合数学基础1

news2024/11/24 2:43:52

让我们来几道高中的组合题吧:

1.我们一定有n个向下,为\binom{m}{n}

2.我们挑最大的两个,条件是他们奇偶性相同,为2*A10,2;

3.用捆绑法即可。

4.我们用隔板法,为_{9}^{7}\textrm{C}

5.问题等价于23个相同的球放到3个盒子里,每个盒子至少有一个。

下面我们直接看题:

很显然,当无限制条件时,每个a[i]贡献1+2+...+n,因此我们对没有限制的快速幂,有限制的单独计算即可,下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,k,mod=1e9+7,x,y,ck;
map<int,int> mp;
struct node{
    int x,y;
}a[100010];
bool cmp(node a,node b){
    if(a.x==b.x) return a.y<b.y;
    else return a.x<b.x;
}
long long quicks(long long a,long long b){
    long long i=1;
    while(b){
        if(b&1) i=(a*i)%mod;
        b>>=1;
        a=(a*a)%mod;
    }
    return i;
}
signed main(){
    cin>>n>>m>>k;
    if(n%2==0) ck=n/2*(n+1)%mod;
    else ck=n*((n+1)/2)%mod;
    for(int i=1;i<=k;i++){
        scanf("%d%d",&a[i].x,&a[i].y);
    }
    sort(a+1,a+k+1,cmp);
    for(int i=1;i<=k;i++){
        if(a[i+1].x==a[i].x&&a[i+1].y==a[i].y) continue;
        if(mp.count(a[i].x)==0) mp[a[i].x]=(ck-a[i].y+mod)%mod;
        else mp[a[i].x]=(mp[a[i].x]-a[i].y+mod)%mod;
    }
    int ans=quicks(ck,m-mp.size());
    map<int,int>::iterator it=mp.begin();
    for(;it!=mp.end();it++){
        ans=(ans*(it->second)+mod)%mod;
    }
    cout<<ans;
}

接题:

没有障碍时,就是求n个数的排列,而我们现在相当于限制了每一行不能放的元素(互不相同)。

因此,我们可以吧问题等价于1----n个格子,每一个格子不能放与自己下标相同的元素。

这样子就是一个错排问题:

下面给出错排的求解思路:

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,x,a[205];
long long f(long long n){
    if(a[n]!=-1) return a[n];
    else return a[n]=(n-1)*(f(n-1)+f(n-2));
}
signed main(){
    cin>>n;
    memset(a,-1,sizeof(a));
    a[1]=0;
    a[2]=1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            scanf("%d",&x);
        }
    }
    if(n<=1) cout<<0;
    else{ cout<<f(n);
        }
}

下面看看经典的卡特兰数:

(!!!只有第一段翻折)

组合数的除我们用费马小定理求逆元即可。

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,mod;
int pow1(int a,int b){
    int i=1;
    while(b){
        if(b&1) i=i*a%mod;
        b>>=1;
        a=a*a%mod;
    }
    return i;
}
signed main(){
    cin>>n>>m;
    mod=20100403;
    int ret=n+1-m;
    for(int i=n+1;i<=n+m;i++) ret=ret*i%mod;
    int ck=n+1;
    for(int i=1;i<=m;i++) ck=ck*i%mod;
    ck=pow1(ck,mod-2);
    cout<<ck*ret%mod;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1445714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【北邮鲁鹏老师计算机视觉课程笔记】04 fitting 拟合

【北邮鲁鹏老师计算机视觉课程笔记】04 fitting 拟合 1 拟合的任务 如何从边缘找出真正的线&#xff1f; 存在问题 ①噪声 ②外点、离群点 ③缺失数据 2 最小二乘 存在的问题 3 全最小二乘 度量的是点到直线的距离而不是点在y方向到直线的距离 提示&#xff1a;点到直线的…

ChatGPT偷懒、变慢的罪魁祸首竟然是它?!系统提示词塞满垃圾!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

【Java程序设计】【C00263】基于Springboot的分布式架构网上商城(有论文)

基于Springboot的分布式架构网上商城&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的网上商城 本系统分为管理员功能模块以及系统功能模块。 系统功能模块&#xff1a;在系统首页可以查看首首页、商品信息、购物…

【Git】移除Git中的文件

有的时候需要移除或者更新 Git 中的文件&#xff0c;我们无法直接在远程仓库中移除&#xff0c;移除或者更新操作需要在本地端实现。 1、移除被跟踪文件 当某个文件被添加到暂存区或者本地仓库&#xff0c;此时会被标记为“跟踪状态”&#xff0c;此时 Git 就会代为管理这个文…

肿瘤微环境异质性对治疗反应的影响(综述)

Influence of tumour micro-environment heterogeneity on therapeutic response | Nature 肿瘤的形成涉及肿瘤细胞与细胞外基质、肿瘤血管和免疫细胞的共同进化。肿瘤的成功生长和最终转移并不完全取决于肿瘤细胞的基因改变&#xff0c;还取决于这种突变在特定环境中带来的适…

通过QT制作一个模仿微信主界面的界面(不要求实现具体通信功能)

main.cpp #include "widget.h" #include "second.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//实例化第二个界面Second s;QObject::connect(&w, &Widget::my_jump, &…

STM32F1 引脚重映射功能

STM32 端口引脚重映射 文章目录 STM32 端口引脚重映射前言1、查阅芯片数据手册1.1 串口引脚重映射描述 2、代码部分2.1 核心代码部分 3、实验现象4、总结 前言 在写程序时遇到想要的端口功能&#xff0c;而这个引脚又被其它的功能占用了无法删除掉或直接使用&#xff0c;这种情…

Netty应用(三) 之 NIO开发使用 网络编程 多路复用

目录 重要&#xff1a;logback日志的引入以及整合步骤 5.NIO的开发使用 5.1 文件操作 5.1.1 读取文件内容 5.1.2 写入文件内容 5.1.3 文件的复制 5.2 网络编程 5.2.1 accept&#xff0c;read阻塞的NIO编程 5.2.2 把accept&#xff0c;read设置成非阻塞的NIO编程 5.2.3…

基础IO[一]

文件文件内容属性 文件在硬盘上放着&#xff0c;我们的流程->写代码->编译->运行->访问文件。那么本质上是谁在访问&#xff1f; 是进程在访问。进程访问文件是需要通过接口来访问。 文件在磁盘上放着&#xff0c;要向硬件写入文件&#xff0c;谁有权限呢?必须…

腾讯云4核8G服务器多少钱?2024精准报价

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;标准型SA2服务器1444.8元一年&#xff0c;轻量应用服务器4核8G12M带宽一…

MySQL-----DCL基础操作

▶ DCL简介 DCL英文全称是Data ControlLanguage(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 DCL--管理用户 ▶ 查询用户 use mysql; select * from user; ▶ 创建用户 ▶ 语法 create user 用户名主机名 identified by 密码 设置为在任意主机上访问…

在虚拟机上完成Centos安装

Linux学习和使用 前言如何安装Centos初始化操作 使用VMware备份操作系统快照克隆 内容总结参考链接 本人介绍:2023年全国大学生数学建模竞赛国家二等奖,2022年蓝桥杯省二等奖,这里是一个和你一起不断努力,不断前进的程序猿一枚 前言 简单介绍一下本片文章将会讲到的内容:本章节…

通过容器化释放云的力量

NCSC (英国国家网络安全中心) 经常被问到的一个问题是是否在云中使用容器。这是一个简单的问题&#xff0c;但答案非常微妙&#xff0c;因为容器化的使用方式有很多种&#xff0c;其中一些方法比其他方法效果更好。 今天&#xff0c;我们发布了有关使用容器化的安全指南&#…

寒假作业

手写盗版微信登入界面 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);this->resize(421,575);this->setFixedSize(421,575);th…

线性表的链式存储结构

顺序存储结构不足的解决方法 顺序存储结构有缺点&#xff0c;最大的缺点是插入删除时需要移动大量元素&#xff0c;会导致时间效率下降。 线性表链式存储结构的定义 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素&#xff0c;这些存储单元可以是连…

Impala-架构与设计

架构与设计 一、背景和起源二、框架概述1.设计特点2.框架优点3.框架限制 三、架构图1.Impala Daemon2.Statestore3.Catalog 四、Impala查询流程1.发起查询2.生成执行计划3.分配任务4.交换中间数据5.汇集结果6.返回结果 总结参考链接 一、背景和起源 现有的大数据查询分析工具H…

volatile的实现

字节码层面 ACC_VOLATILE JVM volatile内存区的读写都加了内存屏障 OS和硬件层面 windows lock 指令实现

文献阅读:Mamba: Linear-Time Sequence Modeling with Selective State Spaces

文献阅读&#xff1a;Mamba: Linear-Time Sequence Modeling with Selective State Spaces 1. 文章简介2. 方法介绍 1. State Space Models2. Selective State Space Models 3. 实验考察 & 结论 1. 简单问题上的验证2. 实际场景效果 1. 语言模型2. DNA模型3. 语音模型 3. 细…

深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南【第72篇—python:数据连接】

深入学习Pandas&#xff1a;数据连接、合并、加入、添加、重构函数的全面指南 Pandas是Python中最强大且广泛使用的数据处理库之一&#xff0c;提供了丰富的函数和工具&#xff0c;以便更轻松地处理和分析数据。在本文中&#xff0c;我们将深入探讨Pandas中一系列数据连接、合…

pycharm控制STM32F103ZET6拍照并上位机接收显示(OV7670、照相机、STM32、TFTLCD)

基于STM32的照相机 准备工作最终效果一、下位机1、主函数2、OV7670初始化 二、上位机1、控制拍照2、接收图片数据 三、资源获取 准备工作 一、硬件及片上资源: 1,串口1(波特率:921600,PA9/PA10通过usb转ttl连接电脑&#xff0c;或者其他方法)上传图片数据至上位机 2,串口2(波特…