自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 记录一下UVA-10054(求解欧拉回路路径)

前置知识: 欧拉图:能够遍历所有的边并最终回到起点的一种特殊的图; 半欧拉图:能够遍历所有的边但回不去最初的起点的一种特殊的图; 欧拉回路:从某一起点出发能够遍历所有边并最终回到起点的路径; 判断欧拉图: 无向图:度 == 偶数(进入一个结点后要离开,需要两条路径) 有向图:出度 == 入度(进入一个结点后要离开,进多少次就要离开多少次) 注意:判断欧拉图之前需要判断这个图是不是一个连通图!!! Hierholzers算法: 没找到这个算法的名称,按照我的英语水平应该读作海尔霍兹算法 这个算法用于求解欧拉回

2021-08-22 23:30:48 115

原创 记录下HDU-2544(Floyd最短路和Dijkstra最短路)

最路路问题 题目链接 直接就是模板题,不过最短路的算法总是忘记了 Floyd算法: 通过遍历所有中间结点k查看是否能令 i 到 j 的距离更短,我觉得甚至可以理解为一种暴力。选择一个点加入到《已经选择点集》,使用这个点更新所有两两点之间的距离,接着从剩下的《未选择点集》中选择另一个点加入其中,不断反复直到《未选择点集为空》 实际上的代码就只有几行: void floyd() { for (int k = 1; k <= n; k++) {//注意这里是从中间结点开始进行的 for (int i

2021-08-22 17:36:02 110

转载 记录下POJ-2441(状态压缩dp)

记录下POJ-2441(状态压缩dp) 状态压缩 通常使用在np类问题的小规模求解中,因为规模大了实际上无解 状态压缩通常将一些问题的情况用编码的方式进行呈现,形如二进制编码,或者定义一个全序关系来简化表示状态(这种时候你要将分类状态的情况牢记清楚)。 既然是用编码的方式进行表示,通常使用位运算来进行操作。这里位运算就不赘述了 这里放上POJ-2441题目链接 思路:开辟空间sta[1<<牛的数量],用来记录每个状态下的方案数,将棚内是否有牛的状态压缩为整数。例如状态为5的时候,二进制为101,

2021-08-16 00:48:24 80

转载 记录下HDU-2063(二部图-匈牙利算法)

二部图例题HDU-2063(匈牙利算法) 二部图基本概念: 二部图:一个图中的所有点能够被划分为两个集合,图中的所有边都跨越了集合的边界。(例如:一群人以男女区分为两部分,一些男生喜欢一些女生,一些女生喜欢一些男生,这些男女生和这些喜欢的情况可以称作二部图) 匹配:匹配是一组边的集合,其中任意两边都没有公共点。(若彼此喜欢男女生能够在一起,某一情况下所有这种能够在一起的关系称为匹配,这一情况下在一起的关系就称为匹配边,原本喜欢但是没有在一起的就称为未匹配边) 最大匹配:所有匹配中,边数最多的一个匹配关系。

2021-08-13 17:34:09 254

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除