【爆】軟挑大神的賽后感言竟然是這樣的!

      網(wǎng)友投稿 696 2025-04-02

      2020年華為軟件精英挑戰(zhàn)賽已圓滿收官

      想知道大神獲獎(jiǎng)后是什么心情嗎?

      想了解大神的腦回路嗎?

      想知道巔峰代碼是如何寫的嗎?

      本文帶你一一揭曉!

      01大神的解題思路

      “暴力出奇跡”分享

      初賽和復(fù)賽:

      主要的思路就是雙端搜索,先找其中一端并且存下來處理一下,相對(duì)于別的選手來說我們沒有做很底層的優(yōu)化,主要是迭代展開(把dfs變成for循環(huán)),以及預(yù)處理IO。

      決賽:

      總的來說算法應(yīng)該都是相似的,優(yōu)化的部分可以從兩方面來說。

      首先是減少cache miss: 對(duì)于邊表,一些圖的度數(shù)比較小的時(shí)候可以用二維數(shù)組來存邊表,相對(duì)于前向星可以減少一次尋址。由于相對(duì)于原圖,確定起點(diǎn)之后最短路圖的邊的數(shù)量實(shí)際上少很多,所以可以臨時(shí)把最短路圖存下來。記錄前驅(qū)更方便維護(hù),而且對(duì)于絕大部分點(diǎn)來說,前驅(qū)都只有一個(gè),所以可以用一個(gè)數(shù)組記錄第一個(gè)前驅(qū),如果多于一個(gè)前驅(qū),可以用其它各種數(shù)據(jù)結(jié)構(gòu),速度都是相似的,這樣可以很大程度減少cache miss。

      另外一些還有一些思路上的優(yōu)化,比如說dijkstra的堆優(yōu)化,可以發(fā)現(xiàn)實(shí)際上的最短路都不是特別大,而且每次新加入堆中的元素一定大于已經(jīng)出堆的元素,所以可以用一個(gè)類似于筒排序的堆來維護(hù)。可以很大的提升效率。對(duì)于一些比較特殊的點(diǎn),比如說出度恰好是1的點(diǎn),這樣的點(diǎn)為起點(diǎn)形成的最短路徑一定會(huì)經(jīng)過他的唯一后繼,所以我們可以把他與其后繼合并,這樣可以減少很大一部分計(jì)算。如果以點(diǎn)u為起點(diǎn)已經(jīng)計(jì)算出了達(dá)到每個(gè)點(diǎn)的最短路長(zhǎng)度以及最短路圖,那么u的前驅(qū)v可以繼承u的結(jié)果,也就是說直接令所有最短路長(zhǎng)度加上w(v, u),這樣的話,圖越稀疏,就會(huì)有越多的點(diǎn)的最短路不需要更新,可以減少一部分求最短路的時(shí)間,這需要先預(yù)處理scc以及簡(jiǎn)單的任務(wù)調(diào)度。

      02 其他Q&A

      比賽過程中最大的收獲是什么?

      暴力出奇跡:

      比賽過程中,在網(wǎng)上和其它的選手交流,他們或者自己遇到的問題,都引發(fā)了很多思考。在這些天反復(fù)思考如何去最大化利用服務(wù)器運(yùn)行的特點(diǎn)的過程中,重新認(rèn)識(shí)了很多自己以前自以為學(xué)會(huì)的知識(shí),對(duì)于計(jì)算機(jī)組成,編譯原理的理解更前進(jìn)了一大步。實(shí)際上大家遇到難以解決的問題大多都是相似的,在交流的過程中也認(rèn)識(shí)了很多新朋友。

      參加本次比賽做過什么準(zhǔn)備?

      #507:

      隊(duì)友三人都參與過ACM競(jìng)賽,在浙江省賽、CCPC和ICPC的賽場(chǎng)上斬獲過金牌。三人同一寢室,有良好的算法交流氛圍。參加比賽前,我們閱讀過往年題目,并且學(xué)習(xí)了一下優(yōu)秀的往屆比賽開源代碼。

      掃黑除惡小分隊(duì):

      在2019年我們同樣參與了2019年華為軟件挑戰(zhàn)賽。因?yàn)檫@次賽題評(píng)分標(biāo)準(zhǔn)是以運(yùn)行速度為主導(dǎo)的,所以在參賽前我們學(xué)習(xí)了一下c++的內(nèi)容,通過在華為論壇文檔上查看了一些針對(duì)鯤鵬服務(wù)器的優(yōu)化實(shí)例。

      守望&靜望&觀望:

      【爆】軟挑大神的賽后感言竟然是這樣的!

      其實(shí)也沒有做太多準(zhǔn)備,只是看了一下2019年的題目,然后想了一下它的解題思路,因?yàn)镮O部分是一定會(huì)有的,所以寫了一下IO部分的代碼。

      小白一個(gè),隊(duì)友組完隊(duì),我們就直接參加熱身賽,這期間學(xué)習(xí)到了很多優(yōu)化思路和加速技術(shù),也了解了比賽流程,之前沒有準(zhǔn)備過。

      對(duì)大賽主辦方有什么想說的話么?

      暴力出奇跡:

      實(shí)際上對(duì)于一個(gè)相同的問題,大家都很樂于提出各種各種的想法,其中有很有價(jià)值的,也有不靠譜的,但都為我?guī)淼暮芏嗨伎肌km然受到疫情的影響,復(fù)賽決賽最后都是線上的形式,不是往年的線下活動(dòng),但我覺得相對(duì)于賽后進(jìn)行的一些活動(dòng),類似的破冰活動(dòng)同樣也可以在賽前一周兩周來舉辦,這樣也有助于不同賽區(qū)天南海北的同學(xué)相互認(rèn)識(shí)。雖然是相互競(jìng)爭(zhēng)的比賽,但更多的也是一個(gè)挑戰(zhàn)自我的過程,我覺得有這樣一種氛圍的話,在相互交流中能引發(fā)自身更多的思考,這樣所有人有更多的提升。

      有什么比賽經(jīng)驗(yàn)可以分享給大家的?

      守望&靜望&觀望:

      隊(duì)員一:考慮最壞的可能,做好充分的準(zhǔn)備。參加過今年軟挑復(fù)賽的同學(xué)應(yīng)該都知道,很多大佬都倒在復(fù)賽現(xiàn)場(chǎng)改需求那關(guān),我在前一天連夜寫了改不同環(huán)數(shù)、改金額限制的版本,使我們隊(duì)順利出線(如果要我們現(xiàn)場(chǎng)改,也可能改不出來)。

      隊(duì)員二:

      (1)熱身賽還是有必要參加的,可以提前進(jìn)入狀態(tài)

      (2)練習(xí)賽時(shí)候,要做好正賽賽題變化的準(zhǔn)備,否則現(xiàn)場(chǎng)極容易翻車

      (3)多看看各賽區(qū)群交流一下,大佬們經(jīng)常開課很容易開闊思路

      (4)戰(zhàn)線很長(zhǎng),保重身體

      隊(duì)員三:

      (1)分工明確。誰負(fù)責(zé)算法,誰負(fù)責(zé)代碼的哪一部分,都要清楚。

      (2)隊(duì)友之間多溝通。碰到問題的時(shí)候,隊(duì)員一起溝通想出解決辦法。

      (3)不要輕言放棄。即使A榜成績(jī)?cè)俨睿膊灰艞墸瑘?jiān)持到最后一刻。

      (4)學(xué)會(huì)團(tuán)結(jié)合作。多和比賽群里的大佬交流溝通,找優(yōu)化的技巧,多向他人學(xué)習(xí)。

      掃黑除惡小分隊(duì):

      首先我們覺得最主要的經(jīng)驗(yàn)還是多嘗試,尤其是對(duì)于今年的賽題。即使很多嘗試都是負(fù)優(yōu)化,但是發(fā)現(xiàn)一些trick就可以有很大的提升。其次我們覺得加強(qiáng)交流是很重要的,交流探討不同的方案,并可以快速迭代方案。

      03 大神代碼分享

      暴力出奇跡:

      https://github.com/suniyu/HuaweiChallenge2020

      守望&靜望&觀望:

      https://github.com/Gocrzy/CodeCraft2020

      掃黑除惡小分隊(duì):

      https://github.com/yifannir/codecraft2020

      #507:

      https://github.com/SIeepZzz/Codecraft2020

      04 大神風(fēng)采

      - 暴力出奇跡

      - 掃黑除惡小分隊(duì)

      - 守望&靜望&觀望

      - #507

      2020年軟挑依然齊聚各路高手

      在這里只采訪了冰山一角

      更多分享歡迎在評(píng)論區(qū)留言~

      今年軟挑就陪你到這里。

      明年,我們?cè)僖娧剑海?/p>

      -------------------

      本文轉(zhuǎn)自:“華為軟件精英挑戰(zhàn)賽”公眾號(hào)

      計(jì)算

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:家具制造商創(chuàng)新的不同方式
      下一篇:wps表格保存過了怎么恢復(fù)原來的數(shù)據(jù)庫(wps表格怎么恢復(fù)自動(dòng)保存之前的數(shù)據(jù))
      相關(guān)文章
      无码专区一va亚洲v专区在线| 亚洲色大成网站www久久九| 亚洲国产精品白丝在线观看| 国产亚洲情侣一区二区无码AV| 亚洲综合色一区二区三区| 亚洲人成网站18禁止久久影院| 亚洲av午夜福利精品一区人妖| 亚洲伊人久久综合影院| 亚洲成a∨人片在无码2023| 亚洲一卡二卡三卡四卡无卡麻豆| 中文字幕亚洲第一在线| 亚洲国产人成在线观看69网站| 久久久综合亚洲色一区二区三区| 久久亚洲精品中文字幕无码| 亚洲AV无码乱码在线观看富二代| 亚洲国产综合无码一区| 亚洲va国产va天堂va久久| 亚洲AV无码乱码在线观看裸奔| 亚洲AV无码成人专区片在线观看| 国产综合亚洲专区在线| 亚洲人成人一区二区三区| 亚洲国产成人精品无码区在线观看 | 亚洲s码欧洲m码吹潮| 亚洲人成影院在线高清| 久久精品亚洲一区二区| 亚洲成年看片在线观看| 亚洲天堂在线视频| 2020久久精品亚洲热综合一本| 亚洲精品无码成人AAA片| 亚洲欧洲国产成人综合在线观看| 国产午夜亚洲精品| 亚洲免费福利视频| 亚洲av日韩av高潮潮喷无码| 亚洲熟妇无码乱子AV电影| 亚洲av无码一区二区三区四区| 久久91亚洲人成电影网站| 亚洲美女人黄网成人女| 亚洲国产精品成人久久久| 亚洲精品无码日韩国产不卡av| 91在线亚洲精品专区| 久久亚洲欧洲国产综合|