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

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

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.mzph.cn/news/679484.shtml

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

相关文章

Python 中的异步编程:提升程序性能的利器

随着互联网应用的迅猛发展&#xff0c;越来越多的应用程序需要处理大量的并发请求。传统的同步编程模型在处理大量并发请求时往往效率低下&#xff0c;造成程序响应速度变慢。为了解决这个问题&#xff0c;Python 提供了异步编程这一强大的工具&#xff0c;可以在单线程环境下实…

BKP寄存器与RTC实时时钟

BKP寄存器 BKP寄存器简介 BKP&#xff08;Backup Registers&#xff09;备份寄存器 BKP可用于存储用户应用程序数据。当VDD&#xff08;2.03.6V&#xff09;电源被切断&#xff0c;他们仍然由VBAT&#xff08;1.83.6V&#xff09;维持供电。当系统在待机模式下被唤醒&#xf…

Vue核心基础3:计算属性和监视属性

1 计算属性 这边以姓名案例&#xff0c;来介绍计算属性 <body><div id"root"><!-- 姓&#xff1a;<input type"text" v-model:value"firstName"><br>名&#xff1a;<input type"text" v-model:value&…

立体视觉几何 (三)

立体视觉系统概述 误差分析 考虑对应于深度 Z 的视差 d 的匹配对。我们想要评估 ΔZ&#xff0c;即视差误差引起的深度误差。将 Z 对 d 求导&#xff0c;得到&#xff1a; 立体视觉中基线&#xff08;baseline&#xff09;、焦距&#xff08;focal length&#xff09;和立体重…

黑马程序员——html css基础——day10day11day12——小兔鲜儿

目录&#xff1a; 底部盒子制作 底部服务模块制作底部帮助模块底部版权模块banner-轮播图 HTML结构CSS样式banner图片模块 htmlcssbanner小圆点制作 htmlcssbanner-侧导航 HTML结构CSS样式新鲜好物-hd HTML结构CSS样式新鲜好物-bd HTML结构CSS样式溢出文字显示省略号人气推荐 …

每日五道java面试题之java基础篇(三)

第一题. switch 是否能作⽤在 byte/long/String 上&#xff1f; Java5 以前 switch(expr)中&#xff0c;expr 只能是 byte、short、char、int。从 Java 5 开始&#xff0c;Java 中引⼊了枚举类型&#xff0c; expr 也可以是 enum 类型。从 Java 7 开始&#xff0c;expr 还可以…

《UE5_C++多人TPS完整教程》学习笔记9 ——《P10 创建会话(Creating A Session)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P10 创建会话&#xff08;Creating A Session&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&…

JAVA面试题16

什么是Java中的反射机制&#xff1f;它的用途是什么&#xff1f; 答案&#xff1a;Java的反射机制是指在运行时&#xff0c;通过获取类的信息来操作类的属性、方法和构造函数等。它可以用来创建对象、调用方法&#xff0c;以及实现动态代理等功能。 什么是Java中的泛型&#x…

windows@命令行映射磁盘驱动器若干方法

文章目录 windows映射网络磁盘驱动器资源管理器中GUI方式创建命令行方式创建命令行列出驱动器列表删除取消映射持久化配置映射&#x1f47a;记住凭证 FAQ登录后自动挂载&#x1f47a;[以alist webdav 挂载为例]分析对策Note 访问已经挂载网络磁盘分区&#x1f47a;连接到局域网…

windows 下安装gin

go install 执行命令&#xff0c;执行不了的参考一下 https://blog.csdn.net/weixin_42592326/article/details/135946806 Golang 中没法下载第三方包解决办法-CSDN博客 go install github.com/gin-gonic/ginlatest 还是安装不了的话&#xff0c;用手机开热点&#xff0c;电…

python从入门到精通(十八):python爬虫的练习案列集合

python爬虫的练习 1.爬取天气网的北京城市历史天气数据1.1 第一种使用面向对象OOP编写爬虫1.2 第二种使用面向过程函数编写爬虫 1.爬取天气网的北京城市历史天气数据 1.1 第一种使用面向对象OOP编写爬虫 import re import requests from bs4 import BeautifulSoup import xlw…

第五篇:MySQL常见数据类型

MySQL中的数据类型有很多&#xff0c;主要分为三类:数值类型、字符串类型、日期时间类型 三个表格都在此网盘中&#xff0c;需要者可移步自取&#xff0c;如果觉得有帮助希望点个赞~ MySQL常见数据类型表 数值类型 &#xff08;注&#xff1a;decimal类型举例&#xff0c;如1…

大数据Doris(六十五):基于Apache Doris的数据中台2.0

文章目录 基于Apache Doris的数据中台2.0 一、​​​​​​​架构升级

iOS AlDente 1.0自动防过充, 拯救电池健康度

经常玩iOS的朋友可能遇到过长时间过充导致的电池鼓包及健康度下降问题。MacOS上同样会出现该问题&#xff0c;笔者用了4年的MBP上周刚拿去修了&#xff0c;就是因为长期不拔电源的充电&#xff0c;开始还是电量一半的时候不接电源会黑屏无法开机&#xff0c;最后连着电源都无法…

分享88个时间日期JS特效,总有一款适合您

分享88个时间日期JS特效&#xff0c;总有一款适合您 88个时间日期JS特效下载链接&#xff1a;https://pan.baidu.com/s/16UhIi4d42AkUN5uj2oGFFw?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;…

时钟信号和复位信号的来源

数字的总体复位信号来源于数字电路的电源VDD。模拟电路中有一个电压比较器&#xff0c;它包含一个阈值&#xff0c;当VDD上升到超过该阈值时&#xff0c;复位信号就拉高&#xff0c;否则就是低电平。假设VDD为1.8V&#xff0c;并且比较器的阈值为1.2V&#xff0c;当电压未升至1…

c语言内存对齐

内存对齐 什么是内存对齐? 内存对齐:在计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任何类型的变量。但实际上在访问特定类型的变量的时候需要从特定的地址开始,这就需要各种类型的数据按照一定的规则在空间上排列,而不是顺序的一个接一个的存放,这就是…

AlmaLinux右键菜单(基于GNOME桌面)

文章目录 前言前提说明在文件上右键在文件夹上右键 前言 在使用VSCode的过程中&#xff0c;AlmaLinux没能像Windows一样在右键菜单上显示打开方式&#xff0c;所以找了一下解决方案&#xff0c;罗列出来 前提说明 虽然说无论是media还是StackOverflow都推荐使用这条命令&…

【MySQL基础】:深入探索DQL数据库查询语言的精髓(上)

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. DQL1.1 基本语法1.2 基础查询1.3 条件查询1.3 聚合函数 &#x1f324;️ 全篇…

mysql、mybatis中SORT

SORT排序 根据数据表sys_series中HOT&#xff08;int类型&#xff09;进行升序排列&#xff1a; 原来的数据库中存储&#xff1a; 排序 # 结果是HOT字段为null的所有数据都排在最前面&#xff0c;不为null的数据按升序排列 SELECT * FROM sys_series ORDER BY HOT;# 结果是H…