![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
mig_davidli
稍微明白点算法和C++,参加过几个小项目。。
展开
-
【拓扑排序】HDU 1285——确定比赛名次
来源:点击打开链接做完这道题,可以对无环图的拓扑排序有所了解。无前驱的顶点优先的拓扑算法主要分为三步:1、找到一个入度为0的顶点并且输出之。2、在图中删除该顶点,并且删除与该顶点有关的边。3、重复步骤(1)(2),直到剩余的网中不存在没有前驱的顶点。这个题点集比较集中,可以采用邻接矩阵的形式。#include #include #include using nam原创 2013-09-05 11:30:51 · 1017 阅读 · 0 评论 -
【CodingTrip - 携程编程大赛第三场】1003 携程全球数据中心建设
来源:HDU 携程编程大赛第一场简单Prim,不过用一种很高端洋气的经纬度表示方法来表示两点之间的距离。gis学的东东。把距离合到map里边,最后就是套用prim模板的问题。#include #include #include using namespace std;double map[105][105];const double pi=3.1415926535897932原创 2014-04-10 21:07:11 · 1520 阅读 · 0 评论 -
【POJ3983】又一次被暑假第一天的题爽虐了
快算24,爆搜,不解释了,弱到爆。。另外BFS已经看不懂了,这是一个很可怕的事情这个题可以作弊的,网上的DISCUSS里面有人直接COUT测试数据AC……我就ORZ了,现在给测试数据要么很多要么没几个。最后,这个程序还是有一定实用价值的。。YuanFang What do you Think那个题也很实用(虽然不会写,看上去是不停的因式分解,赞个),但是实用化确实是一种趋势。2AC,5原创 2012-10-31 17:03:41 · 1064 阅读 · 0 评论 -
【BFS+边界】带图的原来也可以一次AC—POJ 1915
昨天的问题,确实给了我很大的启发,于是决定做一些带图的BFS。一个马,在给定的棋盘上来回跳,有多少种跳法。1AC,按照昨天的思路,稍微加一些边界检查,忽忽悠悠的就过了个去。#include #include #include #include using namespace std;const int INF=310;class point{ pub原创 2012-11-23 14:36:08 · 555 阅读 · 0 评论 -
【网络流第五弹】最大点权独立集 ——HDU 1569 方格取数(2)
题目:点击打开链接和上一道基本一样,依然是最大点权独立集的问题,毫无变化。注意一下数据变大了,所以EK就不行了,SAP或者DINIC。#include #include #include #include using namespace std;typedef struct {int v,next,val;} edge;const int INF=0x3F3F3F3F;原创 2013-04-30 22:20:46 · 836 阅读 · 0 评论 -
【权值八皇后】uva 167——The Sultan's Successors
The Sultan's Successors The Sultan of Nubia has no children, so she has decided that the country will be split into up to k separate parts on her death and each part will be inherited by w原创 2013-04-16 20:16:00 · 970 阅读 · 0 评论 -
【非图BFS+STL】电脑修好了—Open the Lock_HDU 1195
电脑折腾了三天总算修好了…C盘出现了一片bad sector…虽然以前写的ACM都没了,启动的也特别慢,但毕竟是修好了,于是又开始了。涉足了一下自己最害怕的BFS(虽然这个对别人来说是弱智级别的),非图的+STL。大意是一个四位密码锁,有两种方式,都算一步:1、前后的+1和-1.2、相邻两个调换顺序.从一个密码到目标密码需要几步。加上个STACK,跌跌撞撞的卡TIME AC原创 2012-11-22 20:32:07 · 683 阅读 · 0 评论 -
【DIJKSTRA一定要严格格式】模板题——最短路HDU2544
标准单源最短路模板,没法再标准了……但是WA了两次,原因是I和J没搞清楚,模板题改模板的时候一定要注意格式。当然,理解思想才是最重要的,DIJKSTRA是标准的贪心思路,不断地从之前的路径中筛选最短-比较-更新。#include #include #include using namespace std;const int INF=0x3f3f3f3f;int map[10原创 2012-12-30 17:01:56 · 748 阅读 · 0 评论 -
【网络流第一步】Hdu 1532——Drainage Ditches
题目链接:点击打开链接看了一会网络流的概念,找了个模板就上了。。起初TLE了几遍,发现是初始化没搞好。。sap优化据资料说比EK省好多时间的说,网络流的精髓应该是构图,以后碰到难题应该会有所体会的。网络流有三个性质:一个节点流量守恒(形如电路中的KVL/KCL),流量双向,f(i,j)毕竟第一个网络流模板题的说,直接用SAP了。#include #include #includ原创 2013-04-09 11:11:58 · 888 阅读 · 0 评论 -
【网络流第二步】Hdu 1532——Drainage Ditches 邻接矩阵版
不多说,HDU卡数据还是挺厉害的#include#include#include#include#include#include#include#define maxn 205#define INF 100000000using namespace std;//Template Bade By: Xiaobin Chenint pointnum,原创 2013-04-15 20:38:40 · 662 阅读 · 0 评论 -
【网络流第三弹】HDU 3549——Flow Problem(dinic解法)
来源:点击打开链接求有向图的网络流,DINIC模板过,稍作修改即可。DINIC还是非递归版比较好的,省时间。// 1.设置上限MAXN和MAXN 2.初始化数值src, des, nNode 3.init_adj() & ex_addEdge() 4.dinic()#include #include #include #include #include #def原创 2013-04-25 16:47:20 · 828 阅读 · 0 评论 -
【网络流第四弹】最大点权独立集 ——HDU 1565 方格取数(1)
题目:点击打开链接网络流学习的下一步,最大点权独立集。多和最小点权覆盖集放到一起使用。分别求图中不相邻的点权最大/或者边中至少有一点在集合中,求最小总权值的问题。公式:最大点权独立集=总权值-最小点权覆盖集。最小点权覆盖集=图的最小割值=最大流。和普通网络流一样,可以使用ISAP,EK,DINIC等多种方法。建图:多采用奇偶建立二分图的方法。建边时脑子一定要清楚。相邻点要染原创 2013-04-30 21:29:34 · 2412 阅读 · 2 评论 -
【剪枝】HDU 1010——tempter of the bone
来源:点击打开链接看上去数据规模很小,但是必须要剪枝,否则直接爆TLE。通过这个题可以练习奇偶剪枝。另外:还有一个优化方式,如果所有步数走完了门还没关,则直接返回结果"NO".#include #include #include #include using namespace std;int n,m,tarstep;int tari,tarj;int si,sj;原创 2013-08-02 15:55:46 · 742 阅读 · 0 评论 -
【改了一天的拓扑排序】POJ 1094——Sorting It All Out
来源:点击打开链接不知道怎么回事,wa了整整一天。。在绝望的时候AC了。重点是分步处理和三种情况的判断。1、判断是否成环,成环了直接输出错误信息。2、然后一条边一条边的加入,进行拓扑排序,如果出度为0的点多于两个,继续判断之,如果到所有点都加入了但仍然没有判断出来,输出第三种情况。3、以上两种情况都不存在,输出拓扑排序的路径信息。#include #include #i原创 2013-09-06 15:54:11 · 1099 阅读 · 0 评论 -
【floyd】HDU 1874 畅通工程续
之后的题解偏重实用/总结性质,尽量理解算法本身而不是题,时间复杂度什么的也可以放放。很久之前做过这个题,当时使用dijkstra做的,关于几个最短路算法,分类的话可以分为以下几种。1、单源最短路:已知起点(终点),计算从源点到其他各个顶点的最短路径长度。典型算法:Dijkstra,Bellman-Ford(可以算负的,比较慢),spfa(负权能用,加了松弛操作,速度比较炸天)2、全原创 2014-07-21 21:15:50 · 2303 阅读 · 0 评论