<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_39799208的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_39799208</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_39799208]]></copyright><item><title><![CDATA[二分图详解（匈牙利算法）+代码模板]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90543998</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90543998</guid><author>weixin_39799208</author><pubDate>Mon, 21 Sep 2020 22:57:38 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/Kirito_j/article/details/52166566

二分图的最大匹配、完美匹配和匈牙利算法

2013-08-01Algorithms二分图匹配,图论,算法

这篇文章讲无权二分图（unweighted bipartite graph）的最大匹配（maximum matching）和完美匹配（perfect matching）...]]></description><category></category></item><item><title><![CDATA[深度优先搜索_POJ1321_棋盘问题]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90770866</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90770866</guid><author>weixin_39799208</author><pubDate>Tue, 04 Jun 2019 16:13:52 +0800</pubDate><description><![CDATA[http://poj.org/problem?id=1321

用两个组数分别记录被占用的行和列，加速（暴力）搜索过程


#include &lt;iostream&gt;
using namespace std;

char chessboard[10][10];
int row[10];
int col[10];
int n, k;
int sum;

void input() {
	mem...]]></description><category></category></item><item><title><![CDATA[POJ2513（欧拉路_trie树_并查集）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90726300</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90726300</guid><author>weixin_39799208</author><pubDate>Sat, 01 Jun 2019 10:32:58 +0800</pubDate><description><![CDATA[参考博客：https://blog.youkuaiyun.com/lyy289065406/article/details/6647445

大致题意：

给定一些木棒，木棒两端都涂上颜色，求是否能将木棒首尾相接，连成一条直线，要求不同木棒相接的一边必须是相同颜色的

解题思路：

相同的颜色看作一个结点，木棒看作边，是否可以“一笔画”经过图中每个点，以及经过每条边一次。

无向图中存在欧拉路充要条件：

图...]]></description><category></category></item><item><title><![CDATA[STL常用函数（在更）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90715829</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90715829</guid><author>weixin_39799208</author><pubDate>Fri, 31 May 2019 14:47:48 +0800</pubDate><description><![CDATA[1. priority_queue

#include &lt;queue&gt;

默认大根堆！如果创建小根堆需要#include &lt;functional&gt; 类库

priority_queue&lt;int, vector&lt;int&gt;, greater&lt;int&gt; &gt; que1; //functional 头文件自带的 （greater），小根堆
pri...]]></description><category></category></item><item><title><![CDATA[B树和B+树]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90668696</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90668696</guid><author>weixin_39799208</author><pubDate>Wed, 29 May 2019 16:07:34 +0800</pubDate><description><![CDATA[一、B树和B+树的区别：

B+树和B树相比，主要的不同点在以下3项：

所有关键码都存放在叶节点中，上层的非叶节点的关键码是其子树中最小（或最大）关键码的复写
	叶节点包含了全部关键码及指向相应数据记录存放地址的指针，且叶节点本身按关键码从小到大顺序连接。如果按下层结点“最小关键码复写”原则，则树中每个非叶结点中有 m 棵子树必有 m - 1 个关键码；如果按下层结点“最大关键码复写”原则，则树...]]></description><category></category></item><item><title><![CDATA[POJ3020_二分图最大匹配（匈牙利算法变型）_Antenna Placement]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90548634</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90548634</guid><author>weixin_39799208</author><pubDate>Sat, 25 May 2019 17:02:36 +0800</pubDate><description><![CDATA[原题：http://poj.org/problem?id=3020

题目大意：

有四种天线，分别可以朝四个方向覆盖一个城镇（place of interest）（可以看成一个天线可以覆盖两个城镇），给出一张图，星号代表城镇，空格代表空地，问最少需要多少天线可以覆盖所有的城镇。

思路：

node标记点并且给城镇编号，edge标识出城镇与城镇的相邻关系，构建一个无向图。其中，点代表城镇，边代表...]]></description><category></category></item><item><title><![CDATA[拓扑排序-POJ1094-Sorting It All Out]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90524176</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90524176</guid><author>weixin_39799208</author><pubDate>Fri, 24 May 2019 22:58:53 +0800</pubDate><description><![CDATA[转载于：http://www.cppblog.com/infinity/archive/2008/11/06/66086.html

每次读入一对关后，做一次floyd, 计算传递闭包.
然后判环,其实很简单，就是看有没有点i的map[i][i]=1;
有就证明有环！如果有环就矛盾了。
如果无环再判断是否能确定关系，(注意每次都把出入度数组清零!)计算每个点的出度+入度是否=n-1；
如果所有点都...]]></description><category></category></item><item><title><![CDATA[Kruskal（最小生成树，稀疏图）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90487194</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90487194</guid><author>weixin_39799208</author><pubDate>Thu, 23 May 2019 20:15:48 +0800</pubDate><description><![CDATA[每次选权值最小的边，如果构成环，则舍弃，选择次小的，直到所有的点都包含在生成树中。

图解：https://blog.youkuaiyun.com/qq_41754350/article/details/81460643


#include &lt;iostream&gt;
#include &lt;algorithm&gt;
using namespace std;

const int MAXN = 5...]]></description><category></category></item><item><title><![CDATA[Prim算法（最小生成树）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90239455</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90239455</guid><author>weixin_39799208</author><pubDate>Wed, 15 May 2019 17:08:57 +0800</pubDate><description><![CDATA[参考链接：https://www.cnblogs.com/nannanITeye/p/3446424.html

prim算法实现图的最小生成树，假设n个顶点，m条边。

适合稠密图，其时间复杂度为O(n^2)，与边的数目无关，而kruskal算法的时间复杂为O(eloge)，和边数有关，适合稀疏图。



算法思路：从某个顶点开始，假设v0，此时v0属于最小生成树节点中的一个元素，假设U为已经确...]]></description><category></category></item><item><title><![CDATA[Bellman-ford算法（poj3259 Wormholes）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90083306</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90083306</guid><author>weixin_39799208</author><pubDate>Fri, 10 May 2019 20:24:51 +0800</pubDate><description><![CDATA[Bellman-ford算法和详解

http://www.wutianqi.com/blog/1912.html

poj3295

t译文：农夫约翰在探索他的许多农场，发现了一些惊人的虫洞。虫洞是很奇特的，因为它是一个单向通道，可让你进入虫洞的前达到目的地！他的N（1≤N≤500）个农场被编号为1..N，之间有M（1≤M≤2500）条路径，W（1≤W≤200）个虫洞。作为一个狂热的时间旅行FJ...]]></description><category></category></item><item><title><![CDATA[Dijkstra（单源最短路径）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90046348</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90046348</guid><author>weixin_39799208</author><pubDate>Thu, 09 May 2019 22:29:30 +0800</pubDate><description><![CDATA[Dijkstra的主要特点是以起始点为中心向外层层拓展（广度优先搜索思想），直到拓展到终点为止。



用二维数组edge表示顶点之间的关系，dis数组表示源点到其余各点的距离，book数组表示dis对应的距离是否是最短距离。



dis数组初始化为【0，2，6，4】，book为【1，0，0，0】

既然是求点1到其余各点的距离，那么，就找一个离点1最近的点。通过dis数组可知，为点2，这个图...]]></description><category></category></item><item><title><![CDATA[Floyd（最短路径）-傻子也能看明白的弗洛伊德算法（转）]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90046012</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90046012</guid><author>weixin_39799208</author><pubDate>Thu, 09 May 2019 19:34:01 +0800</pubDate><description><![CDATA[转载自：https://www.cnblogs.com/wangyuliang/p/9216365.html



暑假，小哼准备去一些城市旅游。有些城市之间有公路，有些城市之间则没有，如下图。为了节省经费以及方便计划旅程，小哼希望在出发之前知道任意两个城市之前的最短路程。



上图中有4个城市8条公路，公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最...]]></description><category></category></item><item><title><![CDATA[C++中字符读入函数cin、cin.getline()等]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/90024846</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/90024846</guid><author>weixin_39799208</author><pubDate>Thu, 09 May 2019 11:54:11 +0800</pubDate><description><![CDATA[cin
	cin.get()
	cin.getline()
	getline()
1. cin&gt;&gt;

读入与声明变量匹配的字符，数字，字符串等。过滤掉不可见字符（回车、tab、空格等）输入字符串时，遇到上述不可见字符都会结束输入。输入char数组时，自动在最后加上结束符'\0'。


char a[10] = {};
a[4] = '7';
a[5] = '8';
a[6] = '9'...]]></description><category></category></item><item><title><![CDATA[模拟_poj1573_Robot Motion]]></title><link>https://blog.youkuaiyun.com/weixin_39799208/article/details/89962898</link><guid>https://blog.youkuaiyun.com/weixin_39799208/article/details/89962898</guid><author>weixin_39799208</author><pubDate>Wed, 08 May 2019 17:28:07 +0800</pubDate><description><![CDATA[http://poj.org/problem?id=1573


#include &lt;iostream&gt;
using namespace std;
/*
一个容易被忽略的test case
2 2 1
SW
EN

正确输出：
0 step(s) before a loop of 4 step(s)

一个数组存储命令Grid
另一个数组存储走过的步数，出界则直接输出num，遇到循环则...]]></description><category></category></item></channel></rss>