2019华为软件精英挑战赛思路分享和小结

文章目录

思路简介

我来自杭厦赛区的“想吃热干面”,初赛排名2复赛排名11。

我们队的思路很简单(没想到其他更优秀的算法),就是Djikstra算法,但我们对路权公式进行了优化。
d i s t [ i ] = d i s t [ m i n C r o s s i d ] + R o a d [ r o a d i d ] . v o l u m e [ o r i e n t a t i o n ] R o a d [ r o a d i d ] . c h a n n e l C r o s s [ i ] . v o l u m e R o a d [ r o a d i d ] . c h a n n e l dist[i]=dist[minCrossid]+\frac{Road[roadid].volume[orientation]}{Road[roadid].channel}*\frac{Cross[i].volume}{Road[roadid].channel}
这个路权公式主要体现的是负载均衡的思想。道路流量和路口流量是累加的(没错),但是每隔一段时间会进行“挥发”操作(以一定比例缩小)。我们也有过其他方法,但是效果并不好。

个人小结

在队内,我负责C++代码的实现。

参加软调前,已经好久好久好久好久那么迫切地想要认真完成一件事了,所以结果出来的时候有点难受(而且复赛的时候我的代码开始map2没跑通,最后用的师兄的python版本)。但是比较了别人的算法和代码后,发现还有这样的排名确实也不错的。

总的来说,在强大代码实践能力和扎实理论基础之前,侥幸和慵懒显得不堪一击。菜即是原罪
在初赛结束后,在论坛看到一个帖子,很有感触。现在把这些话送给自己和大家。在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/baidu_38646380/article/details/89708371
今日推荐