
最小生成树
Rem_Inory
这个作者很懒,什么都没留下…
展开
-
【题解】洛谷P1546 最短网络(最小生成树)
Kruskal算法的步骤包括: 1. 对所有权值进行从小到大排序(这里对边排序时还需要记录边的索引,这样以边的权值排完序后只改变了权值的索引位置) 2. 然后每次选取最小的权值,如果和已有点集构成环则跳过,否则加到该点集中。最终有所有的点集构成的树就是最佳的。 #include <cstdio> #include <stdio.h> #include <ios...原创 2018-07-20 21:15:54 · 286 阅读 · 0 评论 -
【题解】洛谷P3959 宝藏(生成树 随机化)
一开始可能大部分人的想法是这是个最小生成树问题,用prim就能解决,然而实际上可以发现由于有倍数与深度的限制,这种算法是不一定正确的。那该怎么办呢?我们只需要在找最小点之前做一下判断,用随机数取模,保证其有很小的概率取出来的是次小、更小的概率取出来的是次次小……的点,这个过程重复1000次(差不多吧),基本上就能通过了。 #include<cstdio> #include<i...原创 2018-08-25 17:10:56 · 291 阅读 · 0 评论 -
【题解】codevs P1403 新三国争霸(最小生成树 dp)
联动:https://blog.youkuaiyun.com/Rem_Inory/article/details/81139322 这道题和一道叫物流运输的题非常相似,只不过变成了求最小生成树。根据这种思路我们求出w数组代表第i天到第j天没有灾害会消耗的军粮数,然后还要设一个判断数组记录在某一段时间内出现了灾害,记录下每一段时间内的最小值,然后进行dp操作就好了 #include<cstdio&g...原创 2018-08-25 22:01:52 · 291 阅读 · 0 评论