最小生成树
傻笨
这个作者很懒,什么都没留下…
展开
-
HDU 1863
#include #include #include const int maxn=100000; using namespace std; int vall[101][101]; int dist[101]; bool isvisit[101]; void init() { int i,j; for(i=0; i {原创 2013-06-01 20:54:57 · 468 阅读 · 0 评论 -
HDU 1879
最小生成树的prim算法的模板一样,基本上可以解决所有基本的最小生成树的问题! #include #include #include using namespace std; const int MAX=1000000; const int maxn=100; int map[maxn][maxn]; int dist[maxn]; bool isvisit[max原创 2013-06-04 16:42:16 · 423 阅读 · 0 评论 -
最小生成树相关资料
关于prim算法 先把有的点放于一个集合(或者数组)里,这个集合里存放的是所有走过的点。初始值为0或者false表示还没有点 声明一个一维数组用于记录各点的权值[可理解为起始点到目标点的距离], 声明一个二维数组用于记录某点到某一点的权值,如果这两点不可达到,则设置为无穷大 具体执行过程: 先从某一点开始,把这一个开始的点放于声明的一个数组或者集合里,表明这一点已经被转载 2013-06-04 16:45:31 · 496 阅读 · 0 评论 -
HDU 1233
这道题有两种解法!解法一就是用最小生成树的prim算法: #include #include #include using namespace std; const int maxn=100; const int MAX=100000; int map[maxn][maxn]; int dist[maxn]; bool isvisit[maxn];原创 2013-06-04 17:01:14 · 478 阅读 · 0 评论 -
HDU 1875
这两天天天做最小生成树! #include #include #include #include using namespace std; const int maxn=105; const int maxn1=100010; double map[maxn][maxn]; double dist[maxn]; bool isvisit[maxn]; type原创 2013-06-04 16:18:12 · 476 阅读 · 0 评论 -
HDU 1162
最小生成树就是求,最短路!每个点之间必须是联通的!可以是最短路径,也可以是最少花费! #include #include #include #include const int maxn=105; const int MAX=10000; double map[maxn][maxn]; double dist[maxn]; bool isvisit[max原创 2013-06-04 19:16:02 · 551 阅读 · 0 评论 -
poj 1789
这道题目一定要理解题意,题目大意是:历史上,曾用7个小写字母来表示每种truck的型号,每两种型号之间的差距为字母串中不同字母的个数 代码如下: #include #include #include #include using namespace std; const int maxn=2005; const int inf=0x3f3f3f3f; int map[maxn][maxn]原创 2013-07-14 13:32:47 · 449 阅读 · 0 评论 -
hdu 1301
这道题目我在poj上也做过,要做稍微的转化! #include #include #include using namespace std; const int maxn=30; const int inf=0x3f3f3f3f; int map[maxn][maxn]; int dist[maxn]; bool p[maxn]; int sum; int n;原创 2013-07-15 12:14:34 · 632 阅读 · 0 评论