离散数学 习题篇 —— 等价关系的计数

article/2025/8/29 11:53:07

题目:

集合A(1≤∣A∣≤100)上不同的等价关系一共多少个?

输入格式:

一行,一个整数n(1≤n≤100),表示集合A的元素个数。

输出格式:

集合A上不同等价关系的个数模109+7,即输出其个数模1000000007。(因为当∣A∣比较大时,A上的等价关系数是个巨大的数字,比如∣A∣=100时,其上等价关系的个数是个116位的数字。)

输入样例1:

4

输出样例1:

15

输入样例2:

30

输出样例2:

272358185

题解:
首先说说什么是等价关系。如果关系R是集合A上的关系,并且关系R满足自反,对称,传递。那么关系R就是A上的等价关系。
然后再说说什么是等价类。如果[x]R={y|y∈A ∧ \wedge <x,y>∈R},则[x]R就是集合A上的等价类。

那么这个等价类和等价关系有什么关系呢,听着有点拗口嗷。
举个例子:设A={0,1,2,3,4,5,8,9},R是A上以4为模的同余关系,求R所有等价类。
这是课本上的一个例题,答案是[0] = [4] = [8] = {0,4,8},[1] = [5] = [9] = {1,5,9},[2] = {2}。也就是有3个等价关系。

举的例子可能不够好,我是想说明,有的[x]可能是相等的集合,也就是说等价关系的个数就小于等于集合元素的个数。多个等价类是一个集合能想到什么呢?像是编号的小球放在不编号的盒子里并且盒子不空呢。这样一说是不是有那么一点点模糊的思路啦。

那么我们来想一下,都有哪几种可能性呢。
比如集合有4个元素,他的等价关系有多少种呢。可以想一下,假设所有的元素都属于一个等价类,那就只有一种。假设所有元素属于两个等价类,就会有6种。假设所有元素属于三个等价类,有7种,属于4个等价类的话,就只有1种。把所有可能加起来就是1 + 6 + 7 + 1 = 15种。求到答案了。

那么分析一下小球放在盒子里有什么规律吧,如果只有一个盒子的话,只可能有一种放法;如果盒子和小球的个数相等,那也是只有一种放法;如果小球数量比盒子还少呢,那就没有意义了对吧。
如果是三个小球放在两个盒子里呢,那必然有一个盒子是有两个球的,这个两个球的盒子可能是{1,2},{2,3},{1,3}三种可能。如果是4个小球放在2个盒子里呢,可能是两个两个一类{1,2},{1,3},{1,4},也有可能事三个一个一类,{1,2,3},{1,2,4},{1,3,4},{2,3,4}也就是一共七种。
如果多打一点表的话就会是这样(行号表示盒子数,列号表示球数,比如**[2][3]**表示3个球放在两个盒子里):
在这里插入图片描述
假设小球有n个,盒子有r个,(n,r) =(n - 1, r - 1) + (n, r - 1) * r
这样就推出这个递推公式了,分析一下,每个(n,r)都是 (n - 1, r - 1)的基础上加上多一个小球一个盒子之后多出来的可能性。而这个可能性也就是不加球只加一个盒子的情况乘以盒子的数量。有了这个递推公式,程序就很好写了。

C++版:

#include <bits/stdc++.h>
using namespace std;
long long chess[105][105];
const int MOD = 1000000007;
int main(int argc, char const *argv[])
{memset(chess, 0, sizeof chess);int n;cin >> n;for (int i = 0; i <= n; ++i)chess[1][i] = chess[i][i] = 1;long long sum = 1;for (int i = 2; i < n + 1; ++i){for (int j = i; j < n + 1; ++j)chess[i][j] = (chess[i - 1][j - 1] + i * chess[i][j - 1]) % MOD;sum = sum % MOD + chess[i][n] % MOD;}cout << sum;return 0;
}

http://chatgpt.dhexx.cn/article/ZZTZfD3J.shtml

相关文章

《离散数学》期末练习题

《离散数学》期末练习题 一、填空题 1、若p&#xff0c;q为二命题&#xff0c;p→q真值为0 当且仅当 。 2、A{1,{2,3}}&#xff0c;则幂集P(A) 。 3、对于公式x(P(x)∨Q(x))&#xff0c;其中P(x)&#xff1a;x1&#xff0c;Q(x)&#xff1a;x2&#xff0c;当个体域为{1,2}时…

离散数学——命题逻辑

命题逻辑 命题命题的表示 命题联结词否定词&#xff1a;┐(&#xff5e;&#xff0c;Negation)合取词&#xff1a;∧(Conjunction)析取词&#xff1a;∨(Disjunction)条件词&#xff1a;→(条件,Conditional)双条件词&#xff1a;↔(等值&#xff0c;Biconditional)联结词的注意…

离散数学 (II) 习题 9

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1、 i 是虚数单位&#xff0c;即 i^2^ −1。考虑如下的 4 个二阶方阵&#xff1a;图一G {A, −A, B, −B, C, −C, D, −D} 是由矩阵组成的集合。(1) 请验证 G 对…

-离散数学-期末练习题解析

一、 选择题二. 填空题三、 计算题四、 简答题五、 证明题六、应用题 一、 选择题 下列句子中&#xff0c;&#xff08; &#xff09;是命题。 A . 2是常数 B. 这朵花多好看啊&#xff01; C. 请把们关上&#xff01; D. 下午有会吗&#xff1f; A 命题是能判断真假的陈述句 B…

离散考试题计算机,离散数学试题及答案_离散数学试题库_离散数学试卷及答案...

离散数学试题及答案 一、填空 20% (每小题2分) 1、 P:你努力,Q:你失败。“除非你努力,否则你将失败”的翻译为 “虽然你努力了,但还是失败了”的翻译为 。 2、论域D={1,2},指定谓词P 则公式?x?yP(y,x)真值为。 2、 设S={a1 ,a2 ,?,a8},Bi是S的子集,则由B31所表达…

离散数学期末复习知识总结

为了方便考试复习&#xff0c;下面的内容摘自离散数学期末复习—学习笔记_Half_up-298415的博客-CSDN博客 1.命题逻辑的基本概念 1.1 命题与连接词 ~考察命题的概念 。判断是不是命题 命题&#xff1a;&#xff1a;命题是陈述句&#xff0c;有唯一的解&#xff08;就是有解并…

离散数学 习题篇 —— 谓词公式练习

集合A,B由输入的一系列整数构成&#xff0c;对表达式 ∀ x ( x ∈ A → ∃ y ∃ z ( y ∈ B ∧ z ∈ B ∧ ( y z x ) ) ) ∀x(x∈A→∃y∃z(y∈B∧z∈B∧(yzx))) ∀x(x∈A→∃y∃z(y∈B∧z∈B∧(yzx))) 求值并输出结果。 输入格式: 4行。 第一行是一个整数N&#xff08;1≤…

离散数学期末习题

前言&#xff1a; 本文适用于应对HUEL离散数学期末考试&#xff0c;重点整理了HUEL离散数学期末考试范围内的题型&#xff0c;既可以应对HUEL离散数学期末考试&#xff0c;亦可以作为数据结构与算法的预备知识。 如何联系我&#xff1f;wei.haoranoutlook.com 目录 例题【数…

离散数学习题

离散数学习题 图论命题逻辑谓词逻辑集合与关系函数代数系统 图论 1. C 解析&#xff1a;根据邻接矩阵的定义进行表示 2.下面是前缀编码的是&#xff08;D &#xff09; A、010,110,01,101 B、111,000,110,11 C、10, 000, 101, 01 D、00,10,110,011 3. A 4. C 5. B 6. C 7.对于…

离散数学(本)复习题

离散数学(本) 试题一、单项选择题(每小题3分&#xff0c;本题共15分) 1&#xff0e;若集合A&#xff1d;{a&#xff0c;b}&#xff0c;B&#xff1d; {a&#xff0c;b&#xff0c;{a&#xff0c;b}}&#xff0c;则( )&#xff0e; 2&#xff0e;集合A&#xff1d;{1&#xf…

《离散数学》速成-练习题答案(含题目)

《离散数学》速成 https://blog.csdn.net/aiqq136/article/details/113445181 课时1 课时2 课时3 课时4 课时5 课时6 课时7 课时8 课时9 课时10 课时11 课时12 课时13 课时14

Xftp6--远程上传下载文件的好帮手

前言 Xftp6用于向Linux传输文件 具体操作步骤为&#xff1a; 1、下载安装Xftp6并安装 2、获取LinuxIP地址&#xff0c;Linux环境下终端输入&#xff1a;ifconfig&#xff0c;获取IP地址 3、打开Xftp&#xff0c;输入ip地址&#xff0c;&#xff0c;协议为SFTP,端口号为22&…

Xshell6 + Xftp6 绿色破解

Xshell6和Xftp6破解版 百度云链接 &#xff1a;https://pan.baidu.com/s/110LNltAF-tbluuZY6McFBw 提取码 &#xff1a; irpg 解压完如下 xshell 第一步 第二步 搞定 就可以打开不止于4个窗口 Xftp6一样操作就OK&#xff01;无需别的操作 简单 原文&#xff1a;https://blog…

使用Xftp6上传文件显示状态错误

问题 在使用Xftp6上传文件到VMware中的CentOS6.5中时一直失败&#xff1a; 网上说法是目录权限的问题 解决 通过chmod命令修改目录权限。比如我现在需要将jdk安装包上传到CentOS下/usr/local/java目录下&#xff0c;现在就需要将/usr/local/java目录权限进行修改 # 进入上一…

下载安装免费版Xshell6及Xftp6

前言 在操作Linux系统时&#xff0c;Xshell和Xftp6是个人特别喜欢的工具&#xff0c;但发现公司很多同事都不会&#xff0c;或者软件需要购买才能使用&#xff0c;其实有提供个人免费版&#xff0c;虽然有所限制&#xff0c;但完全够用&#xff0c;所以分享下 标题 进入官网&…

软件分享系列之【xftp6免费中文版下载安装】并持续分享中...

目录 一、Xftp6 简介二、Xftp6 下载三、Xftp6 安装教程 一、Xftp6 简介 Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后&#xff0c;MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标…

Xftp6+Xshell6+XmanagerPowerSuite安装教程

Xftp6Xshell6安装 1.下载2.安装 1.下载 建议使用MobaXterm工具 https://blog.csdn.net/WeiHao0240/article/details/104497718 2.安装

电脑总是弹出Xftp 6无法访问你试图使用的功能所在的网络位置

最近电脑总是跳出这样的消息&#xff0c;这是由于我们的Xftp没有卸载干净导致的。 看了其他CSDN的文章&#xff0c;发现没什么用&#xff0c;因为控制面板里面压根看不到XFTP 解决办法 机缘巧合之下发现一个软件可以完美解决这个问题 软件&#xff1a;windows installer clea…

xshell6和xftp6安装后无法打开提示升级到最新版本

一、Xshell 6 提示 “要继续使用此程序,您必须应用最新的更新或使用新版本” 解决办法&#xff1a; 使用二进制编辑器 UltraEdit 修改nslicense.dll文件 文件位置&#xff1a;xshell 安装根目录 具体步骤 步骤1&#xff1a;下载UltraEdit编辑器 步骤2&#xff1a;使用Ultr…

怎样彻底卸载软件?解决卸载残余?例如:总跳出Xftp 6.msi安装-Xftp 6无法访问你试图使用的功能所在的网络位置,单击“确定”重试,或在下面的框中输入包含安装程序包“Xftp 6.msi”文件

问题重述 最近电脑总是跳出这样的消息&#xff0c;这是我们的Xftp没有卸载干净导致的。 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#…