前面的简介是大神写的,后面跟了一点杭电上的题目代码讲的也比较详细,可以加深理解吧原文地址如下:点击打开链接【书
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2255思路:比较裸的KM算法KM算法讲解的一
最大匹配数=最小点覆盖最小路径覆盖 = 顶点数 – 最大匹配
题目地址:点击打开链接思路:网络流入门题,第一次写经验不够,应该把起点和终点单独列出来,这样模板每次只需要改进一部分内容即可AC代码:#include #include #include #include #include using namespace std;int map1[20][20],pre[20],vis[20],n;bool bfs(){
题目地址:点击打开链接 思路:本来想找点并查集判环的题,结果找到了这题,根本用不到并查集,判断一个图是否为连通图且没有环其实就一个条件,点数-1=边数 AC代码: #include #include #include #include #include #include #include #include #include #include using namespac
题目地址:点击打开链接思路:简单二分图匹配,代码粘的详解的,所以解释有点扯淡,对应关系是,为每个魔法棒找巫师,对应为每个光棍找妹子,注意光棍要从1开始循环,不能从0开始循环,不然会出错,导致的结果妹子的丈夫为0时,有时会再给她一个丈夫AC代码:#include#includeint lol[110][110],visit[110],cf[110],n;bool find(in
题目地址:点击打开链接思路:二分图的最大匹配,代码的解释是照着并查集详解的内容写的,思路差不多,并查集详解地址:AC代码:#include#includeint lol[101][301],visit[301],cf[301],n;bool find(int l){ int i; for(i=1; i<=n; i++) { if(lol[l][i] && !visit
题目地址:点击打开链接思路:参考的大神的,把棋盘的横坐标看做x,纵坐标看做y,棋盘中的一个格子看做二分图中两个集合的一条边,题目的条件是任意de
题目地址:点击打开链接题意:给你2个机器A(A的模式有n种,标号从0到n-1)和B(B的模式有m种,标号从0到m-1),然后给你k个任务,(i,x,y)表示做完第i个任务可以用A机器的x模式和B机器的y模式思路:很裸的二分图最小点覆盖,这道题需要注意点,A,B机器刚开始的模式都是0,所以在模式0处的不算,这个算是一个坑吧,看了别人的博客才知道AC代码:#include #incl
题目地址:点击打开链接题意:贝西驾驶一辆飞船,飞过一个n*n的网格,里面有k个小行星,然后他要发射子弹把这些小行
题目地址:http://poj.org/problem?id=1129题意:相当于地图的着问题,临近的国家要用不同的颜色去涂,最多只需要4中颜色即可思路
题目地址:http://poj.org/problem?id=2239思路:建图的过程挺巧妙的通过(p-1)*12+q,把时间点固定在一个点上,二分图的左边是课程,右边是时间,跑一遍匈牙利算法即可,注意课程的编号不能从0开始,否则会造成给某个时间已经给0号课程用了,程序会认为没用,因为hus的数组,初始值就是0 ,你要实在想从0开始,记得把hus数组初始值赋为-1,程序里面还要
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1498思路:和HDU2119有点像,枚举每种颜色的气球就行AC代码:#include #include #include #include #include #include #include #include #include #include #include co
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1151思路:对于一个有向无环图,其最小简单路径覆盖就是等
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号