1. 程式人生 > >2018年5月20日--西安icpc邀請賽打鐵總結

2018年5月20日--西安icpc邀請賽打鐵總結

平時 很難 線段樹 過度 提高 符號 幾何題 掌握 ORC

2018年5月20日--西安icpc邀請賽打鐵總結

                                          事後諸葛亮

  大致回顧一下比賽,29號的熱身賽和30號的正式賽。

  熱身賽總共三道題,一個小時,沒有AC一道題目。  

  A題是一個幾何題目,審題時犯了一個錯誤——想當然認為數據就跟題目中的樣例和圖例是一個模型——都是以X軸為邊的多邊形,ZC一直在做——一直在WA;受圖例的影響過大,不是很懂實際的出題人的題意——多邊形的每個頂點時隨意的,不一定有條邊是重疊於X軸的。

  我剛開始的時候是倒著開始看題目的,先開的是c題,接著是b題。C題題意有點繞,後來經過計算和

C一塊的商討,我大膽的推測會是一題數學期望題目,後來計算了時間復雜度——暴力必然會掛掉,就放棄了;BC先審出了題意,但是沒有解決思路,我審出題意後,發現這是可以用並查集的模型,接著優化了優化——分組並查集的模型,反復改了改——WA了,後來過樣例也一直WA

  熱身賽的簡單總結:第一:比賽亂了陣腳,A題題意我整個熱身賽比賽之間我一直沒看——大致都是聽ZC說的,開的一直是C題和B題,這是一點大疏忽;熱身賽打的比較倉促,下完車吃完飯就比賽開始了,有點累,頭腦不是很清醒,狀態比較差;第二:我一直在考慮b題和C題,a題基本無視掉了,感覺很有把握結果沒有做出來,aZ講的思路有誤——他想當然按著圖例這個特例來思考推出模型的,我倆也沒細想就也按著他的想法錯上加錯。

  正式賽五個小時,僅僅AC一道簽到題目E

  AWA9次(出題人將自己打算的題意和實際出的題意及樣例搞差了);B題防AK題目——我只看了榜單就放棄了(最終全場只有一個隊寫了出來);C題,像是一個花式DP和背包,沒能搞定,我把題意解釋給了專刷DPC,但沒能做出來,DP狀態轉移方程式一直改來改去沒能搞定;D題是熟悉的aliceBob的題意,一想就是博弈題目,過的人很多,板子上沒有,C和我也沒推出來,Z到後面開始看的——但已經沒有狀態了、就放棄了;E題,Z先看到的,簽到題目速度過了;F題,題目很長,我看了下榜單——在第二個小時的時候基本沒人能寫出去就放棄了;G題——幾何題,過的人也不少,很遺憾,我把題意翻譯了一遍,我錯誤認為這題很簡單——就是簡單判一下相交的點的個數有幾個,鑒於我沒多少狀態了,讓數學好點的

Z上,結果板子有問題浪費20分鐘,換了我自己的板子,結果樣例沒能過,到後面就放棄了;H題、I題和J題,均沒看——最後全場僅有553個大佬AC了;K題,題意啰嗦,翻譯了一遍,確定是一個變形的線段樹,很遺憾最後僅剩半個小時,並且沒有狀態了,敲了一遍線段樹的板子發現還需要時間大改,但已經接近比賽尾聲了,那時也就剩下最後15分鐘就放棄了。

  正式賽的五個小時的回顧——

  第一個小時,Z率先在10分鐘的時候搞定了簽到題目;我嘗試搞定A題,A題我很有自信,賽前前一天我專門突擊復習了位運算方面的知識點,信心滿滿地認為一定可以過的,但是很快WA了,發現審錯題意了,後來又仔細想了想結果又WA了,我開始有點慌了。Z說已經快看不懂英文題目了,我將題意講了講,Z的思路是暴力打表跑幾次數組。

  第二個小時,Z不斷進行嘗試A題,我在一旁進行幫忙改正,均WA了。判題系統第一次進行了通知——“A題題意有誤,出題人出的題意和自己出的數據有差別,表示很抱歉——最優的解法是錯誤的。”我放棄了A題,我開始給C翻譯背包的那道題目,開始進行艱難的嘗試,我又開始翻譯和審alicebob的那個博弈題目。

  第三個小時,我翻譯了一個題目“線段相交”,我沒能挖出這道英文題目的題意——錯誤以為是個板子題目,讓Z開始敲板子,Z的狀態已經比較差了,我問了三遍“你為什麽不用自己的板子?而要用kuangbin的帶了一大堆重載和對象的板子!”Z都沒有回我,我沒看出來他狀態已經很差了。Z敲得很慢——手速本就慢多了並且狀態也很差了(我沒能看出來,他也不願意說自己狀態不好了),那個板子很長,我倆在旁邊看的很著急——Z沒有問我倆有沒有而是選擇了一份自己根本沒有用過的陌生板子——還是剛剛打印的kuangbin的板子;在這個時間我打發完了午餐,補了回來狀態。我意識到Z的狀態已經很差了,我讓他起來我開始敲完了這個kuangbin的板子,結果是錯了,幾處關於C++重載的問題以及類和對象的問題,很遺憾——C++的語法我們都不熟,嘗試改了好幾次失敗了。

  第四個小時,我刪了那些Z敲了半個小時的板子,開始換了我的板子,十三分鐘後搞定了差不多,測試樣例,在第二處樣例處WA了;C簡單花了一下圖,發現我的思路是完全錯誤的,無果,再次翻譯也是錯誤的,數學是強項的Z也沒說話就放棄了——Z接著寫A題那個出錯了題意的題。我和C接著去嘗試背包和博弈的題目,在哪個專有數學符號上“向上取整”上耽誤了一段時間,C想的是把向上取整忽略掉然後采用一種辦法解決,而我堅決認為這個符號不是多余的,反正也沒具體解決思路,後來又扔給了ZZ表示英文題目看著頭疼,讓我再翻譯一遍,最後也放棄了。

  第五個小時,C提醒我有一道算法題目——線段樹的題目,我花了15分鐘還是20分鐘理清楚了題目的詳細意思;C在背包的題目上進行一番嘗試後,放棄了,自己的狀態轉移方程式出了問題;我開始上機敲板子,此時最後火急火燎地敲完了大致七八十行的代碼後,發現我又自信了,模板需要大改,我又楞住了,因為同時還要多考慮兩個變量的維護求和、向下傳遞——然而沒有時間了。期間A題評測系統再次給了題目的新的樣例解釋——完全跟題意搭不上邊,Z接著啃A題;最後15分鐘,Z說我一定可以搞定A題,於是Z又開始改了改,還是WA了,比賽完了,Z說可能是一個函數的問題,細節問題——但願吧,總共AWA了九次。

  五個小時的比賽結束了,一塌糊塗;所有的幻想都破滅了,只有冰冷的現實,那一刻是真的冷。關於本次比賽:隊友之間溝通上還是有點問題,彼此兩個隊友對我的強項不是很了解,我對大致題目沒有全面了解,兩個隊友的翻譯能力有待提高,最重要的是心態都崩了都崩了,大概都在第二小時半的時候全崩了。

  Z先發現了線段樹,我沒聽到,他僅跟C說了,但題目很長,Z沒學線段樹放棄了,這個題目過的隊相當多,很遺憾,最後時間才考慮到這個題目。我擅長很多算法和模板,過線段樹的可能性還是大點;受到A題的WA了三次的影響,我的節奏和心態有點亂;兩個隊友開新題目離不開我的翻譯,他倆自己一個人基本翻譯不下去,可能是心態的問題導致離開我題目翻譯不下去了;我也沒有先把題目從頭到尾先全面看看,完全跟著他倆的節奏和榜單走了,線段樹那題有點虧了,兩個隊友也差不多在最後兩個小時都沒有穩住,節奏和心態也都亂了。

  比賽中的暴露問題不少,能改的盡量改改。

  統統速度瀏覽一遍所有題目,大致確定某些顯而易見的題目類型,算法題目我就提前多花點時間;兩個隊友也沒及時提醒我,可能在該提醒我的時候心態崩了。

  “卡題”的問題。A題浪費時間太多了,Z基本花了四個小時都在磨A題,把所有的精力和狀態都砸進去了,出題人把題意搞砸了,我幾次勸他放棄他也不放棄;從開始到最後三個小時反反復復造各種數據嘗試去完善和嘗試,結果也很現實。他認為,只要他能在剩下的四個小時裏搞定,那麽我們可能會有新的突破,可惜結果往往就是這樣——事與願違;卡題了,就應該提早放放。我還記得,我大一第一次組隊打輕院校賽爆零的那場比賽,L說的話跟現在Z說的話也差不多,L當時說的是這題大多數隊伍都過了,這題肯定不難,我們連這題都過不了其他題目根本就不用想了——肯定過不了;後來那場比賽結束了,我們就死在了那道題上,我們三個人的全部精力也全部砸在上面了。事實很現實,“卡題”就先換題,精力是極其有限的,卡在同一道出了問題的題目上,不斷地去否定自己,不斷地懷疑自己,不斷地去絞盡腦汁,結果往往自己就很快炸了,沒有多大意義。“卡題”導致的崩節奏,我打比賽時經常遇見,我的對策就是迅速調整、先換題;當這個同樣的問題再次發生時,我束手無措了,我能做到的就只是說說,我能做的只是讓自己不去“卡題”。

  其實,這種90%的情況下都是徒勞的,只要自己的心態沒了,一切可能性都沒了。

  缺少某些必要的交流,沒能細致註意到隊友的狀態——我也想到去問(可能我心態也早崩了),後知後覺——很虧;審完題意過樣例很重要,不能忽視,因為我的這個問題——前前後後花了40分鐘或者50分鐘去嘗試上機寫一道比較難的幾何題。

  背包那題也沒辦法,我沒想過去嘗試推推狀態轉移方程式,我想交給C就差不多了吧;我想到了兩個可以優化的思路,一是貪心,二是排序,但C居然用“很清晰”的思路把我的想法反駁了,我可能有點怕了。“向上取整”那個數學符號顯而易見就是“向上取整”,根本不用爭執幾分鐘,是就是了,哪裏還用爭半天!貪心的思路也是顯而易見的,可是C卻無法接受;還有C質疑我的詞典有問題的時候,我也沒有多想,因為那是一個中國的地名——我想大多數英語詞典上都會沒有的,可能那個時候C也差不多早崩了。

  Z的幾何板子沒有打,比賽後我才知道。我也不想說啥,從比賽前兩周我就一直在提,反復在提,他很自信地就是不打,最後在看到其他隊打了厚厚的數百頁的時候——開始慌了,匆匆忙忙地打了零零散散的幾頁。我覺得太少了,就又打了點kuangbin的,結果打印機已經沒有墨了,晃晃墨盒又勉強重打。後來還想打的時候,徹底沒墨了。“屋漏偏逢連夜雨”,這種情況誰也不想遇到,我盡力了,我盡力了,賽後我才知道他沒打板子——有那麽一瞬間感覺自己心裏哇涼哇涼的;這種情況已經不止一次了,很多次了吧,明明在很多時候我覺得自己的想法是很正確的,結果就是聽不進去、也不去做;或許我慢慢習慣就好了,也不應該想的太多。但願這次走過的坑,可以留下一點印象,或許以後題目不難的話我上就是了。有時候,虛心聽聽別人的意見還是好的,仔細想想,“未雨綢繆”——考慮考慮壞的方面學會合理控制自己的風險,還是“很有道理的”。

  心態也是一項很重要的能力,心態其實也是實力的一項很重要的指標。穩住自己,隊友心態不穩的時候就先讓他歇著、調整一下。大型比賽,打的就是三個人的心態,穩定的心態才有良好的配合;基礎算法他倆掌握的不是很全面,比較虧,他倆的翻譯可能受心態有影響了,Z基本沒翻兩次詞典。我的心態受A題影響了,前兩個小時亂了節奏崩了心態,第三個小時才開始想到調整心態!後來兩個小時,我勉強把心態調整好了,隊友卻心態崩了——很遺憾我一直沒有註意到,整整五個小時的比賽我的節奏全亂了,兩個隊友也全亂了。沒準是之前在省內打的比賽有點太好了,導致有一些膨脹和過度自信了233333~~

  對於我這樣的事後諸葛亮來說,以後比賽的時候首先記得帶把刀過去,還有就是自己實力太差了,平時訓練要換個方向刷題——codeforce上的題目跟icpc的題目很相似,很考驗讀題審題能力和過硬的數學邏輯能力,有能力就堅持多做做;畢竟平時的算法題、基礎題提升已經很有限了;還有就是icpc數據很強,單純靠猜數據是不行的,正確的應該好好考慮考慮該題的基本規律和推推相應的公式,從基礎數學思想出發,而不是從數據出發。對了,以後比賽記得帶把刀過去就好了,比賽的時候不小心指甲劈了,沒有指甲刀讓它劈了好幾天——很難受!

  事實如此,已經改變不了,有機會能改變的話也是然並卵的!

  沒人會一直陪你走下去,一直能陪著你走下去的只有且僅有你自己!穩住自己的節奏和心態,穩住!

  重復的錯誤不要再在自己身上上演就好了,長點記性——問題不大!

2018年5月20日--西安icpc邀請賽打鐵總結