上周末到这周三,和实验室的大腿们组队参加了数模竞赛,感觉那几天的朋友圈都被这张图刷屏了。
image.png
没错,就是这样!
如果说将各个看似毫无关系的条件罗列,逻辑从中剥离,这过程很艰难但也很有成就感的话。那么(因为题目表述不清或者其他各种各样的原因)一遍遍修正思路的过程,就很艰难又很挫败了。
队友们都很给力,勉强带动了我这个小坑货。
分工虽然不明确,但个人认为也明确不起来,因为这次建模的过程中“论文、算法、程序实现”几个部分耦合挺厉害的,而且中途多次修改方案,写论文的人如果不参与到算法中来,很难确切地描述思路,写算法的也需要有个人讨论,另外得夸一句小红的程序能力真是厉害,写起来又快又准。
接下来大致介绍一下本次建模时用到的一些算法吧。
一、图的最小生成树算法
图的最小生成树用于求解在多个点之间铺设线路的问题,当图中边的权是铺设线路的长度时,可以使得线路总长最短,而当边的权是线路的成本时,可以使得线路总花费最小。
就是因为一开始就知道有这个算法,我们才会选坑爹的F题的!
这个算法有两种基本的实现方法,分别是Prim算法和Kruskal算法。
Prim算法的思路是这样的:随机选择第一个顶点接入——>while(并非所有元素都接入&#