首页 > 编程语言 >Gale-Shapley 算法

Gale-Shapley 算法

时间:2024-07-19 14:43:01浏览次数:13  
标签:落单 女人 Shapley Gale 算法 配对 男人

挺简单的一个算法,用于解决稳定婚姻问题。

稳定婚姻问题:一些男人和一些女人,每个男人都有对女人的排名,每个女人亦有,求一组最优秀的匹配。

考虑维护一个落单男人的队列,初始全部落单。每次取出队头并按该男人的眼光枚举每一个女人进行配对,如果这个女人落单,或者这个女人目前对象劣于当前男人,就配对,并将新的落单男人入队,注意当前男人配了对后就 break

例题:UOJ41 矩阵变换

题目可以看成行与数字的配对。

设 \(p_{i,j}\) 为第 \(i\) 行的数字 \(j\) 所在位置,那么一组解不合法,即存在两行 \(i,j\),其分别配对的两个数字 \(x,y\),有 \(p_{i,x}<p_{j,x}<p_{j,y}\)。这启迪我们:行要匹配位置尽量左的数字,数字匹配尽量让它 \(p\) 大的行,用 GS 算法即可。

标签:落单,女人,Shapley,Gale,算法,配对,男人
From: https://www.cnblogs.com/includec/p/18311415

相关文章

  • js 加密算法
    (1)md5摘要算法npminstallcrypto-jsconst CryptoJS = require('crypto-js');//原始数据const data = '123456';//生成MD5摘要const md5Digest = CryptoJS.MD5(data).toString();console.log(md5Digest);(2)AES加密constCryptoJS=require("crypto-j......
  • AI人工智能深度学习算法:智能深度学习代理的环境感知与数据采集机制
    AI人工智能深度学习算法:智能深度学习代理的环境感知与数据采集机制作者:禅与计算机程序设计艺术/ZenandtheArtofComputerProgramming1.背景介绍1.1问题的由来随着人工智能技术的迅速发展,深度学习算法因其强大的模式识别和预测能力而被广泛应用。特别是在智能代......
  • 算法刷题笔记 字符串哈希(C++实现)
    文章目录题目描述基本思路实现代码题目描述给定一个长度为n的字符串,再给定m个询问,每个询问包含四个整数l1,r1,l2,r2,请你判断[l1,r1]和[l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数n和m,表示字符......
  • 算法刷题笔记 八数码(C++实现)
    文章目录题目描述基本思路实现代码题目描述在一个3×3的网格中,1∼8这8个数字和一个x恰好不重不漏地分布在这3×3的网格中。例如:123x46758在游戏过程中,可以把x与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下......
  • 代码随想录算法训练营第30天 | 贪心算法 2: 122.买卖股票的最佳时机II、55. 跳跃游戏
    代码随想录算法训练营第30天|贪心算法2:122.买卖股票的最佳时机II、55.跳跃游戏、45.跳跃游戏II、1005.K次取反后最大化的数组和122.买卖股票的最佳时机IIhttps://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/代码随想录https://programmerca......
  • 代码随想录算法训练营第29天 | 贪心算法1:455.分发饼干、376.摆动序列、53.最大子序和
    代码随想录算法训练营第29天|贪心算法1:455.分发饼干、376.摆动序列、53.最大子序和贪心算法基础理论https://programmercarl.com/贪心算法理论基础.html455.分发饼干https://leetcode.cn/problems/assign-cookies/description/代码随想录https://programmercarl.com/0455......
  • 算法篇 滑动窗口 leetCode 水果成篮
    水果成蓝1.题目描述2.图形分析2.1原理解释2.2怎么想出使用滑动窗口2.3图形分析3.代码演示1.题目描述2.图形分析2.1原理解释2.2怎么想出使用滑动窗口2.3图形分析3.代码演示......
  • 【算法设计与分析】期末考试复习 - 基础知识(基础知识超详细)
    文章目录前言引言问题问题描述实例目标数学表达步骤示例伪代码解释1.问题的复杂度冒泡排序笔记选择排序笔记插入排序笔记归并排序笔记快速排序笔记一些问题哪个排序算法效率最高?是否可以找到更好的排序算法?排序问题计算难度如何?其他排序算法的复杂度问题计算复杂度估......
  • 计算机毕业设计Python+Tensorflow小说推荐系统 K-means聚类推荐算法 深度学习 Kears
    2、基于物品协同过滤推荐算法2.1、基于⽤户的协同过滤算法(UserCF)该算法利⽤⽤户之间的相似性来推荐⽤户感兴趣的信息,个⼈通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的⽬的进⽽帮助别⼈筛选信息,回应不⼀定局限于特别感兴趣的,特别不感兴趣信息的纪录也相......
  • 【笔记】辛普森算法
    核心思想是将被积区间分为若干小段,每段套用二次函数的积分公式进行计算。具体而言,对于一个二次函数\(f(x)\),有:\[\int_{l}^{r}f(x)\mathrm{d}x=\frac{(r-l)\left(f(l)+f(r)+4f\left(\frac{l+r}{2}\right)\right)}{6}\]1普通辛普森直接分成若干段来计算。2自适应辛普森......