DAY-8 : 生成树++&二分图

学习笔记——二分图及建图技巧 简介 二分图是一种特殊的图。其定义为: 节点由两个集合组成,且两个集合内部没有边的图。 那啥时候可以用二分图呢?当且仅当图可以进行合法的黑白染色的时候,可以考虑二分图。 二分图匹配 匈牙利算法 最基础的问题就是二分图的最大匹配。所谓最大匹配,就是对于左右两个集合内的点,每个点都只能选一次,并且左右匹配的点之间有连边,求最多能左右匹配的点对数。举个最简单的例子,就是有 nnn 个男生和 mmm 个女生,之间有相互喜欢的关系,求最终最多能牵几根红线。 由于这个问题比较基础,所以具体可以看网上其它博客,这里仅 阅读详情

题目链接

我真的越来越懒了,今天补了好多天的。

贴,贴,贴链接。

匈牙利算法求二分图最大匹配:

https://blog.youkuaiyun.com/cillyb/article/details/55511666

https://www.cnblogs.com/shenben/p/5573788.html

这个算法真的是,每个人跟每个人就是的都不一样,但是不管细节怎么写,整体思路是相似的,选了个我看得懂的,贴;

这天Question_A真的难写,真的长,但挺经典的,限制顶点度数的MST。:我就要贴题解。

还有还有:01规划

Question_B:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int NMAX=1008;

int n,k;
double num[NMAX]; 

typedef struct D{
	int a,b;
}Data;
Data data[NMAX];

bool compare(double a,double b){
	return a>=b;
}

bool check(double x){                          //这这
	double sum=0;
	for(int i=0;i<n;i++)
		num[i]=data[i].a-data[i].b*x;
	sort(num,num+n,compare);
	for(int i=0;i<n-k;i++)
		sum+=num[i];
	return sum>0?true:false;
}

int main(){
	
	while(~scanf("%d%d",&n,&k)&&(n+k)!=0){
		double r=0;
		for(int i=0;i<n;i++)
			scanf("%d",&data[i].a);
		for(int i=0;i<n;i++){
			scanf("%d",&data[i].b);
			r=max(r,data[i].a*1.0/data[i].b);
		}
		double l=0;
		double mid;
		for(int i=0;i<100;i++){     //
			mid=(l+r)/2;        //01规划
			if(check(mid))      //算法
				l=mid;      //核心
			else                //部分
				r=mid;      //
		}
		printf("%0.lf\n",mid*100);
	}
}

 

二分图——匈牙利树 二分图——匈牙利树前言匈牙利树的基本概念交替路增广路增广路的性质增广路的定理匈牙利树啥是匈牙利树?匈牙利树的算法流程 前言 我刚刚学了二分图,总觉得少点啥算法,果不其然,二分图竟然还有许多算法,这就是一个:匈牙利树。 匈牙利树的基本概念 先别急着要学匈牙利树,我们先了解一些关于他的基本概念。 交替路 交替路,就是从一个未匹配点出发,依次经过非匹配边、匹配边、非匹配边… 这样交替形成的一条路径。 增... 阅读详情

相关推荐

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01

当前段必须包含所有字符的最后出现位置。1. 字符串分割成最多片段2. 基因序列功能域划分3. 文本段落划分4. 音频声道分离5. 图像色彩分区6. 社交网络社群划分7. 蛋白质结构域8. 音乐乐章分段9. 代码模块划分10. 章节划分特征:一次扫描,贪心确定边界。

weixin_49199313的博客 1273

生成树he二分图

1.prime算法 就是迪杰斯特拉的一种类似算法,迪杰斯特拉是求该点到起点的最小值,但是这里是指求到集合的最小值,也就是说,集合中有1,2这两个点,然后e[1,3]=3, e[2,3]=2; 那么就是dist[3]=2; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include&lt;cstring&gt; using namespace std; const int N=503; int g[N][N]; int n,m; int

weixin_46600434的博客 223

【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01

编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩

weixin_49199313的博客 1389

最小生成树与二分图

最小生成树的两种算法,Prim与Kruskal算法;染色法判断二分图,与匈牙利算法的二分图最大匹配问题

duchenlong的博客 447

准静态电磁场

叠加法 缺点:对于连续分布的电荷,叠加法的计算比较困难 虚位移法 概念 广义坐标:确实系统中导体形状、尺寸与位置的一组独立几何量。 广义力:企图改变某一广义坐标的力。 功:广义力乘上由它引起的广义坐标的改变量。 公式 ...

qq_35912930的博客 1860

EPLAN二次开发入门:Visual Studio 2019环境配置与插件调试实战

本文详细介绍了EPLAN二次开发入门的关键步骤,重点讲解如何在Visual Studio 2019中配置开发环境并进行插件调试。通过创建符合命名规范的项目、引用核心API库、实现插件接口以及使用附加进程调试等实战技巧,帮助电气工程师快速掌握EPLAN插件开发,提升自动化设计效率。

h6i7j8的博客 763

二分图算法(染色法 匈牙利算法)

二分图算法总览 二分图的概念[1.二分图的定义 2.二分图的特点 3.二分图的应用] 染色法(判断二分图)[染色法判定二分图] 匈牙利算法(计算二分图的最大匹配)[二分图的匹配 二分图的最大匹配]

咸鱼势力登场 1308

GEE:基于MODIS数据计算NDVI时间序列,并使用Savatsky-Golay(SG)滤波器对其进行平滑处理

优快云@_养乐多_本文将介绍如何在 Google Earth Engine (GEE) 平台中,使用 MODIS 数据计算 NDVI 时间序列,并对该数据集应用 Savitzky-Golay 滤波器,得到了一个新的平滑后的数据集。Savitzky-Golay 滤波器可以有效地去除信号中的噪声,并平滑信号的变化。该方法可以扩展到基于 MODIS 数据计算的任何指数或者波段。

养乐多的博客 1426

二分图及其算法

二分图 参见度娘: 二分图又称作二部图,是图论中的一种特殊模型。设 G=(V,E)G= (V,E)G=(V,E) 是一个无向图,如果顶点 VVV 可分割为两个互不相交的子集 (A,B)(A,B)(A,B),并且图中的每条边 (i,j)(i,j)(i,j) 所关联的两个顶点 iii 和 jjj 分别属于这两个不同的顶点集 (i∈A,j∈B)(i \in A, j \in B)(i∈A,j∈B),则称图 GGG 为一个二分图。 说白了就是: 匹配 二分图 G=(V,E)G= (V,E)G=(V,E) 中,

Evan_song1234的博客 1689

微信小程序 - 最新详细实现用户保存下载视频到手机相册,将视频临时路径、在线播放地址(网络路径)URL存储到手机,弹出访问手机相册权限询问,支持视频格式mp4、avi、mov、wmv、flv、webm

微信小程序,视频,手机相册,保存,另存为,小程序保存到相册权限,writePhotosAlbum,一键保存视频到手机相册功能(视频来源为链接),第一次要获取用户授权,授权使用相册权限,小程序视频下载,如何把视频下载到相册,下载一个视频到本地相册,显示下载进度,可取消下载,视频下载到本地,微信小程序视频如何下载,保存视频到相机,页面播放视频并下载到本地,安卓系统,苹果ios保存到相册报错,权限拒绝后打不开,添加相册授权弹框拒绝后再也出不来了,实现保存视频到手机相册功能,将mp4在线视频下载并存储到用户的手机中

🏆 前端领域优质创作者 7626

42、InfiniBand技术详解:QP状态机、操作及错误处理

本文深入解析InfiniBand技术中的核心组件QP(Queue Pair)状态机、工作请求处理机制、支持的操作类型及错误处理策略。详细介绍了QP的创建与状态转换流程,包括INIT、RTR、RTS等关键状态,并提供了状态修改的代码示例。文章还探讨了工作请求的发布、资源使用限制、围栏机制以及重试和RNR流程,帮助开发者理解通信可靠性保障机制。此外,涵盖了多播组的应用场景与API使用方法,并对比了用户空间与内核级RDMA API的调用差异,最后给出了实践建议和常见问题解答,为构建高性能分布式系统提供技术指导。

oauth7security的博客 133

算法基础复盘笔记Day07【搜索与图论】—— Prim、Kruskal、染色体判定二分图、匈牙利算法

二分图: 如果一张无向图的 $N$ 个节点可以分为 A,B两个不相交的非空集合,并且同一集合内的点之间没有边相连,那么称该无向图为二分图。定理:二分图不存在奇环(长度是奇数的环) 因为每一条边都是从一个集合走到另一个集合,只有走偶数次才可能回到同一个集合。染色法:我们可以使用染色法来判定二分图。即尝试用两种颜色标记图中的节点,当一个点被标记后,所有与它相邻的节点应该标记与它相反的颜色,若标记过程产生冲突,则说明图中存在奇环,即不存在二分图。

Java技术一点通 1634

手把手教你完成YOLOv8 PyQt5和PySide6目标检测界面搭建,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持目标检测、目标分割等模型进来检测

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

LOJ6044 「雅礼集训 2017 Day8」共

标签:数论,组合数学题目题目传送门分析2018年的第一道题,RP++5分——手玩样例puts(“12”); 20分——F[i][j]表示一棵i+j个节点的有根树,其中i个节点深度为奇数,j个节点深度为偶数的方案数,然后不停枚举除根以外,编号最小的点所在子树情况进行转移 40分——用S(N,M)表示左边N个点,右边M个点的完全二分图生成树个数,答案就是S(K,N-K)*C(N-1,K-1) 10

Welcome to yjjr's blog! 1596

Android 12.0 SystemUI下拉状态栏定制化之隐藏下拉通知栏布局功能实现(二)

在12.0的系统定制化开发中,由于从12.0开始SystemUI下拉状态栏和11.0的变化比较大,所以可以说需要从新分析相关的SystemUI的 布局,然后做分析来实现不同的功能,今天就开始实现关于隐藏SystemUI下拉状态栏中的通知栏布局系列二,去掉下拉状态栏中 通知栏部分 白色的圆角背景

安卓兼职framework和app工程师的博客 1636

高比例风电电力系统储能运行及配置研究(python&Matlab实现)

目录1 概述2 案例3 Matlab实现 3.1 题目及分析3.2 Matlab代码 4 七个题全部代码(值得学习) 下面我们先以第二题为例,然后给出Matlab代码:先考虑风电装机300MW直接替代机组3的发电功率曲线,观察系统功率平衡发生的变化情况。然后在此场景下,以最小发电成本为目标函数,将负荷分配给两台火电机组1、2和风电机组,绘制机组日发电计划图。再将风电装机容量作为一个决策变量,以最小发电成本为目标函数,求取最小发电成本对应的风电装机容量,绘制机组日发电计划图。1. 风电装机300MW、直接

weixin_46039719的博客 1741

寒假集训总结

DAY 1 模拟 emmmm 哇塞,模拟暴力太快乐了 ??? 这是啥???乒乓球怎么打???嗯???还有分制??? orz DAY 2 搜索,二分,背包 导弹拦截 (啊只得了4分的暴力终于变成了200分的正解 DAY 3 背包,lower_bound (导弹拦截里也有所应用 (stl大法好 多重背包 (qwq原来那个背包的课件还是只看了01和完全 DAY 4 栈...

weixin_30475039的博客 190

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Prufer序列 学习笔记

Prufer序列 学习笔记

weixin_55851276的博客 712

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Prufer 序列小记

Prufer 序列是一种将一棵用一个唯一的整数序列表示的方法,本质上它做到了树与序列的双射,从而让我们能够方便的在序列上刻画一些树的性质。以下讨论中不考虑树的节点数n1的情况。

qq_56326461的博客 1153

图论(二) 树与二分图

无圈图:一个图的任何子图都不是圈 树:连通无圈图 树删除的任意一条边都会变成非连通图产品 对树中给定的两个结点的x,y,树中存在唯一一条XY路,因此此路为测地线 若树有Ñ个结点,对条边,则P = N-1,因此,树是最小连通的(满足该关系的不一定是树,树一定满足该关系) 设S为n个正整数组成的序列d1,d2,d3 ... dn,其中,d1 d2 d3 ... dn,并且d1 + d2 + ...

lixiaoguai2017的博客 4774

现代图论笔记(二)树与二分图

-

zorchp 2002

二分图的基础定义

二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G是一个二分图。定义  简而言之,就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。辨析区分二分

Learning Deep Learning 1万+

[完全二分图生成树个数] BZOJ 4766 文艺计算姬

结论题 我也不会证 Kn,m=nm−1∗mn−1K_{n,m}=n^{m-1}*m^{n-1}#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; typedef long long ll;ll n,m,P;inline ll mul(ll x,ll y){ return (x*y-(ll)(((

雯舞 2957

搜索与图论——最小生成树和二分图(2)

接上篇对最小生成树的相关算法进行的讲解 此篇讲的是二分图的有关算法

Rat1onal的博客 599

二分图常见建图方法

  二分图是图论比较重要的一部分,在实际生活中有广泛的应用,比如,分配工作时如何最优分配使得尽可能多的人做自己擅长或感兴趣的时等等出现匹配的问题都需要用二分图解决。不过,二分图的应用不仅仅在这些比较直观上的匹配问题上用到,还有很多实际问题可以通过二分图的一些性质,来匹配解决,比如:如何在一个超市里装最少的摄像头来覆盖整个超市,如何在边防设立最少的岗哨覆盖整个军营等等,在二分图中就叫...

abcdefghijk0987的博客 471

二分图与最小生成树

二分图与最小生成树最小生成树朴素版Prim算法Kruskal算法二分图染色法匈牙利算法 最小生成树 最小生成树对应的问题都是无向图 最小生成树算法 : Prim算法 稠密图 : 朴素版Prim算法 O( n^2 ) [^代码短 一般用于稠密图] 稀疏图 : 堆优化版Prim算法 O( mlog(n) ) [^不常用] Kruskal算法 O( mlog(m) ) [^一般用于稀疏图] 捋清算法思路 , 弄清楚算法的流程 , 不是死记模版 朴素版Prim算法 集合 s 表

weixin_45877540的博客 1353
上一篇: DAY-9 : 网络流
下一篇: DAY-21 : 线段树&RMQ
Thitve
博客等级 码龄9年 2粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值