各位老铁们好,相信很多人对2017华为软件精英挑战赛参赛感悟分享都不是特别的了解,因此呢,今天就来为大家分享下关于2017华为软件精英挑战赛参赛感悟分享以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
对于此类比赛,可以针对具体情况进行具体编程或参数调整,这样会提高成绩(可能会被禁止)。
对于每次提交,最好保存当前提交版本并使用git。
不懂的代码最好不要随意复制。如果出现问题,您将不知道如何纠正。
团队支持是游戏僵局的解药。
题目
[PDF] 竞赛问题
求解思路
基本思想是最小成本流+遗传
当我第一次看到这个问题时,很容易发现这是一个优化问题,而且是NP-hard问题。因此,我的第一个想法是使用遗传或粒子群算法来解决问题。根据问题的含义可以快速写出目标函数。我们可以使用成本函数,但我不知道如何编码,对服务器或网络流程进行编码。编码或两者兼而有之。
直到我找到了最小成本最大流量算法,利用这个算法,输入服务器节点,我可以计算出从服务器出发的最小成本网络流量路径,以满足每个消费者节点的需求。这样,结合第一个思路,算法的整体框架就非常清晰了。我们首先使用遗传算法生成一堆服务器节点,然后将这些服务器节点输入到最小成本流算法中以获得每条路径。通过路径和服务器信息,我们可以得到该方案下的网络成本,并将该成本划分为遗传算法的适应度函数,然后利用遗传算法中的变异、交叉、选择等操作来选择优秀的染色体,然后返回最小成本流算法,依此类推。算法流程图如下所示。
最大流、最小费用算法
算法的具体过程这里就不深究了。在进行比赛时,我们参考了一些文档和网页。
【PDF】网络流量应用
最小成本最大流量
从入门到精通:最小成本流程之《zkw算法》
SPFA算法
SPFA 是单源最短路径算法。在这道题中,我们使用了最小成本流算法。网络中存在负权边,著名的Dijkstra算法就失去了用处。现在是SPFA 站出来的时候了。
SPFA算法的详细步骤,看下面的链接就可以了(o)SPFA算法详解(图文并茂,不都是难的!)
接下来我讲一下竞赛题的改进策略。
首先SPFA算法本身有两种改进策略:SLF和LLL
SLF:Small Label First 策略,假设要添加的节点为j,队头元素为i。如果dist(j) dist(i),j将被插入队头,否则j将被插入队尾。
LLL:Large Label Last 策略,设队列的第一个元素为i,队列中所有dist值的平均值为x。如果是dist(i)x,则将i插入队列末尾并搜索下一个元素,直到找到某个i使得dist(i) )=x,然后将i从对中移除以进行松弛操作。
SLF可提高速度15~20%; SLF+LLL可提升速度约50%。
【2017华为软件精英挑战赛参赛感悟分享】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
去年的挑战赛感觉还是很有意义,能和很多优秀的人一起学习交流。
有15位网友表示赞同!
报名参赛需要足够的心理准备,毕竟竞争是真的激烈!
有8位网友表示赞同!
"软件精英"可不是闹着玩儿的,每个参赛选手都太厉害了!
有8位网友表示赞同!
想通过挑战赛提升自己的编程能力是个很好的目标吧。
有18位网友表示赞同!
华为的赛事组织得真不错,比赛环境也很舒适。
有11位网友表示赞同!
这次挑战赛学到了不少东西,感觉自己进步了很多。
有13位网友表示赞同!
参加挑战赛能拓宽视野,认识新的朋友。
有20位网友表示赞同!
真的佩服那些拿了大奖的选手,技术水平超高!
有12位网友表示赞同!
有机会参加的话,还是要试试看,很有成就感的比赛。
有15位网友表示赞同!
冠军团队的实力真强!他们的解决方案太巧妙了。
有6位网友表示赞同!
软件开发确实是一个需要不断学习精进的领域。
有20位网友表示赞同!
挑战赛这种活动举办得越来越多,很让人期待今年的作品。
有6位网友表示赞同!
对于喜欢编程的人来说,这种比赛绝对不能错过!
有11位网友表示赞同!
这次挑战赛的题目很有创新性,考验技术的深度和广度。
有5位网友表示赞同!
希望以后有机会能再参加一次华为软件精英挑战赛!
有12位网友表示赞同!
感觉很多参赛作品都很有应用价值,说不定哪一个就会改变世界!
有10位网友表示赞同!
参加比赛的过程本身就是一个学习的机会,无论结果如何都值得收获。
有18位网友表示赞同!
对那些还没报名的人来说,还有时间冲刺一下!
有9位网友表示赞同!
想参加挑战赛的建议多准备一些案例和项目,加深理解。
有14位网友表示赞同!
软件精英这个称号听起来就很有力量,希望自己可以成为其中的一员!
有18位网友表示赞同!
加油啊,所有参赛选手们!你们都是最棒的!
有12位网友表示赞同!