【离散数学上机】T235,T236
T235题目:输入集合A和B,输出A到B上的所有单射函数。
问题描述
给定非空数字集合A和B,求出集合A到集合B上的所有单射函数。
输入格式
第一行输入m和n(空格间隔),分别为集合A和集合B中的元素个数;
第二行输入非空数字集合A,每个元素之间用空格间隔;
第三行输入非空数字集合B,每个元素之间用空格间隔;
输出格式
输出每一行为集合A到集合B的一个构成单射函数的二元关系,按二元关系的基数大小从小到大输出所有二元关系,相同基数的二元关系按序偶中元素的字典序排列。
样例输入
2 2
1 2
3 4
样例输出
{<1,3>,<2,4>}
{<1,4>,<2,3>}
在T234基础上,保证加入q集合中元素不重复即可,前者链接见下:
【xdoj-离散线上练习H】T234(C++)-CSDN博客
#include<bits/stdc++.h>
using namespace std;int main()
{//预处理:利用优先队列将集合中元素从小到大放进数组A,B中int m, n, cur;cin>>m>>n;priority_queue<int>pq; vector<int>A(m);vector<int>B(n);for(int i=0; i<m; i++) {cin>>cur; pq.push(cur);}for(int i=1; i<=m; i++) {A[m-i] = pq.top(); pq.pop(); }for(int i=0; i<n; i++) {cin>>cur; pq.push(cur);}for(int i=1; i<=n; i++) {B[n-i] = pq.top(); pq.pop(); }//观察输出样例:每行输出均有A中全部元素,B对应元素每行只有一处变化vector<int>q(m);//q[i]携带了当前映射关系中A[i]对应的集合B中元素//为什么用递归:因为A中元素数量不确定,事实上,如果用for循环嵌套,那么for循环的数量为 m,这是不能在确定的代码中实现的auto dfs = [&](auto& dfs, int cnt) -> void{if(cnt == m)//递归终止条件{cout<<"{";for(int i=0; i<m; i++){cout<<"<"<<A[i]<<","<<q[i]<<">"; if(i == m-1) cout<<"}"<<endl;else cout<<",";}return; }else{//继续递归for(int i=0; i<n; i++){//保证q中的元素不重复int k=0;for( ; k<cnt; k++){if(q[k] == B[i]) break;} if(k == cnt) {q[cnt] = B[i];dfs(dfs, cnt+1);} } return;}};dfs(dfs, 0);return 0;
}
T236题目:输入集合A和B,输出A到B上的所有满射函数。
只需将dfs函数替换成如下形式
auto dfs = [&](auto& dfs, int cnt) -> void{if(cnt == m)//递归终止条件{set<int>st;for(int i=0; i<m; i++){st.insert(q[i]);}if(st.size() == n){cout<<"{";for(int i=0; i<m; i++){cout<<"<"<<A[i]<<","<<q[i]<<">"; if(i == m-1) cout<<"}"<<endl;else cout<<",";}}return; }else{//继续递归for(int i=0; i<n; i++){q[cnt] = B[i];dfs(dfs, cnt+1); } return;}};
T237题目:输入集合A和B,输出A到B上的所有双射函数。
将dfs换成这个就成
auto dfs = [&](auto& dfs, int cnt) -> void{if(cnt == m)//递归终止条件{set<int>st;for(int i=0; i<m; i++){st.insert(q[i]);}if(st.size() == n){cout<<"{";for(int i=0; i<m; i++){cout<<"<"<<A[i]<<","<<q[i]<<">"; if(i == m-1) cout<<"}"<<endl;else cout<<",";}}return; }else{//继续递归for(int i=0; i<n; i++){//保证q中的元素不重复int k=0;for( ; k<cnt; k++){if(q[k] == B[i]) break;} if(k == cnt) {q[cnt] = B[i];dfs(dfs, cnt+1);} } return;}};
相关文章:
【离散数学上机】T235,T236
T235题目:输入集合A和B,输出A到B上的所有单射函数。 问题描述 给定非空数字集合A和B,求出集合A到集合B上的所有单射函数。 输入格式 第一行输入m和n(空格间隔),分别为集合A和集合B中的元素个数;…...
【Android开发】安卓手机APP使用机器学习进行QR二维码识别(完整工程资料源码)
前言:本项目是一个 Android 平台的二维码扫描应用,具备二维码扫描和信息展示功能。借助 AndroidX CameraX 库实现相机的预览、图像捕获与分析,使用 Google ML Kit 进行二维码识别。为方便大家了解项目全貌,以下将介绍项目核心代码文件 MainActivity.java 和 AndroidManifes…...
【油猴脚本/Tampermonkey】DeepSeek 服务器繁忙无限重试(20250214优化)
目录 一、 引言 二、 逻辑 三、 源代码 四、 添加新脚本 五、 使用 六、 BUG 七、 优化日志 1.获取最后消息内容报错 2.对话框切换无法正常使用 一、 引言 deepseek演都不演了,每次第一次提问就正常,后面就开始繁忙了,有一点阴招全…...
为deepseek搭建本地页面
搭建页面的框架多种多样,例如python中的flask、django等,再如java中的spring框架等等。你使用什么语言、什么框架都无所谓,重要的是设计思路。这里UP以node.js中的express框架为例来为deepseek搭建一个本地页面。 一、ollama的下载、安装和加载 deepseek本地部署-CSDN博客…...
详解df -h命令
df -h 是 Linux 中用于查看文件系统磁盘空间使用情况的命令。以下是详细说明: 命令格式 df -h 选项说明 -h:以易读格式(如 KB、MB、GB)显示磁盘空间。 输出字段 Filesystem:文件系统的设备名或挂载点。 Size&…...
虚拟环境测试部署应用
一、作用 虚拟环境(env)在计算机领域,特别是在软件开发和测试中扮演着重要角色。它主要用于创建一个隔离的环境,使得开发者可以在不影响系统其余部分的情况下安装、配置和运行软件项目。以下是虚拟环境的一些主要作用: 1、依赖管理 不同的项目可能需要不同版本的库或框…...
CentOS本机配置为时间源
CentOS本机配置为时间源 安装chrony,默认已安装修改配置文件 /etc/chrony.conf客户端配置 安装chrony,默认已安装 yum -y install chrony修改配置文件 /etc/chrony.conf # cat /etc/chrony.conf | grep -Ev "^$|#" server ceph00 iburst dri…...
蓝桥杯备赛 Day14 素数环
信息学奥赛一本通(C版)在线评测系统 【题目描述】 输入正整数nn,把整数11,22,…,nn 组成一个环,使得相邻两个整数之和均为素数。 【输入】 输入正整数nn。 【输出】 输出任意一个满足条件的环。 【输入样例】 6 【输出样例】 …...
小程序canvas2d实现横版全屏和竖版逐字的签名组件(字帖式米字格签名组件)
文章标题 01 功能说明02 效果预览2.1 横版2.2 竖版 03 使用方式04 横向签名组件源码4.1 html 代码4.2 业务 Js4.3 样式 Css 05 竖向签名组件源码5.1 布局 Html5.2 业务 Js5.3 样式 Css 01 功能说明 技术栈:uniapp、vue、canvas 2d 需求: 实现横版的全…...
haproxy详解笔记
一、概述 HAProxy(High Availability Proxy)是一款开源的高性能 TCP/HTTP 负载均衡器和代理服务器,用于将大量并发连接分发到多个服务器上,从而提高系统的可用性和负载能力。它支持多种负载均衡算法,能够根据服务器的…...
SpringCloud框架下的注册中心比较:Eureka与Consul的实战解析
摘要 在探讨SpringCloud框架中的两种注册中心之前,有必要回顾单体架构与分布式架构的特点。单体架构将所有业务功能集成在一个项目中,优点是架构简单、部署成本低,但耦合度高。分布式架构则根据业务功能对系统进行拆分,每个模块作…...
前端调用串口通信
项目录结构 node项目 1) 安装serialport npm install serialport 2)编写index.js 1 const SerialPort require(serialport); 2 var senddata [0x02];//串口索要发送的数据源 3 var port new SerialPort(COM3);//连接串口COM3 4 port.on(open, fun…...
23、深度学习-自学之路-激活函数relu、tanh、sigmoid、softmax函数的正向传播和反向梯度。
在使用这个非线性激活函数的时候,其实我们重点还是学习的是他们的正向怎么传播,以及反向怎么传递的。 如下图所示: 第一:relu函数的正向传播函数是:当输入值(隐藏层)值大于了,就输出…...
《8天入门Trustzone/TEE/安全架构》
CSDN学院课程连接:https://edu.csdn.net/course/detail/39573...
计算机视觉中图像的基础认知
一、图像/视频的基本属性 在计算机视觉中,图像和视频的本质是多维数值矩阵。图像或视频数据的一些基本属性。 宽度(W) 和 高度(H) 定义了图像的像素分辨率,单位通常是像素。例如,一张 1920x10…...
MYSQL的管理备份
一、系统数据库 mysql数据库安装完成后,自带了四个数据库,具体作用如下: mysql:存储MySQL服务器正常运行所需的各种信息(时区、主从、用户、权限等); information_schema:提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等; performanc…...
数据仓库与数据挖掘记录 三
数据仓库的数据存储和处理 数据的ETL过程 数据 ETL 是用来实现异构数据源的数据集成,即完成数据的抓取/抽取、清洗、转换 .加载与索引等数据调和工作,如图 2. 2 所示。 1)数据提取(Extract) 从多个数据源中获取原始数据(如数据…...
第12周:LSTM(火灾温度)
1.库以及数据的导入 1.1库的导入 import torch.nn.functional as F import numpy as np import pandas as pd import torch from torch import nn1.2数据集的导入 data pd.read_csv("woodpine2.csv")dataTimeTem1CO 1Soot 100.00025.00.0000000.00000010.22825.…...
MySQL的SQL执行流程
项目查询数据库的流程 用户通过Tomcat服务器发送请求到MySQL数据库的过程。 用户发起请求:用户通过浏览器或其他客户端向Tomcat服务器发送HTTP请求。 Tomcat服务器处理请求: Tomcat服务器接收用户的请求,并创建一个线程来处理这个请求。 线…...
Foundation CSS 可见性
Foundation CSS 可见性 引言 在网页设计中,CSS可见性是一个至关重要的概念。它决定了元素在网页上是否可见,以及如何显示。Foundation CSS 是一个流行的前端框架,它提供了丰富的工具和组件来帮助开发者构建响应式和可访问的网页。本文将深入探讨 Foundation CSS 中的可见性…...
智慧树刷课插件:3个核心功能帮你告别重复点击,学习效率提升300%
智慧树刷课插件:3个核心功能帮你告别重复点击,学习效率提升300% 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台繁琐的手动操作…...
GodSVG:基于Godot引擎的结构化SVG编辑器,实现代码与图形双向实时同步
1. 项目概述:一个为开发者而生的结构化SVG编辑器 如果你和我一样,经常需要和SVG(可缩放矢量图形)打交道,无论是为网页设计图标、为游戏引擎制作矢量资源,还是进行数据可视化,那你一定体会过在传…...
AI时代下,泳装行业的内容竞争正在被重新定义
北京先智先行科技有限公司持续推进人工智能产业应用,构建了“先知大模型”“先行 AI 商学院”“先知 AIGC 超级工场”三大核心产品体系,并围绕先知大模型私有化部署、先知 AIGC 超级工场、AI 训练师、先知人力资源服务、先知产业联盟等核心业务方向&…...
别再到处找了!用BigMap+geojson.io,5分钟搞定ECharts镇级地图的GeoJSON数据
5分钟极速获取镇级GeoJSON数据:BigMapgeojson.io与ECharts实战指南 当我们需要在数据可视化项目中展示乡镇级地理信息时,常常会遇到数据获取的难题。主流地图平台提供的API往往止步于区县级,而公开数据源又难以满足定制化需求。本文将介绍一套…...
为什么头部AI Lab已全员切换SITS2026?揭秘其内置的4层语义校验引擎与实时可观测性埋点设计
更多请点击: https://intelliparadigm.com 第一章:AI原生应用CI/CD:SITS2026 AI原生应用正推动软件交付范式发生根本性变革——模型权重、提示工程、评估指标与代码同等重要,传统CI/CD流水线已无法覆盖训练-推理-反馈闭环。SITS2…...
【审计专栏-监督监管领域】【信息科学与工程学】【社会科学】第十篇 社会底层核心规则(核心权力、核心利益、核心资源绑定、私下运作、关键价值交换、上下博弈)04
模型046:企业复杂利益链与多方利益博弈模型 1. 模型概述 项目 内容 模型名称 企业复杂利益链与多方利益博弈模型 核心场景 一家大型建筑企业“宏建集团”中标某市的地铁延长线建设项目。项目涉及总包方(宏建)、多个分包商(土建、机电、装修等)、材料供应商、监理…...
数据流编排工具 diflowy:从核心概念到实战部署全解析
1. 项目概述:当“绿色”遇上“数据流编排” 最近在开源社区里,一个名为 green-dalii/diflowy 的项目引起了我的注意。乍一看这个名字, green-dalii 像是一个开发者或组织的标识,而 diflowy 则巧妙地融合了“data flow”&…...
OBS视频特效插件终极指南:如何用5种专业模糊算法提升你的直播和视频质量
OBS视频特效插件终极指南:如何用5种专业模糊算法提升你的直播和视频质量 【免费下载链接】obs-composite-blur A comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing. 项目地址: https://gitcode.com/g…...
2026届毕业生推荐的AI写作网站实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,占据主流地位的降低AI检测成功率的网站,凭借诸如改写润色、句法…...
Rust异步运行时:从Tokio到生产环境实践
Rust异步运行时:从Tokio到生产环境实践 引言 异步编程是现代高性能后端服务的关键技术。Rust通过async/await语法和强大的运行时实现,提供了卓越的异步性能。 本文将深入探讨Rust的异步运行时,包括Tokio、async-std等运行时的原理、使用方法和…...
