1. 程式人生 > >NOIP2017賽前衝刺RoundA~D總結

NOIP2017賽前衝刺RoundA~D總結

其實是在JZOJ上寫的總結,搬到部落格上,到時候反思時好找。。。

Round A Day 1

今天換了個機房作比賽,感覺狀態完全沒有在上面好,藥丸啊(:з」∠)

第一眼看T1的時候發現沒什麼思路,然後仔細想了想發現好像只用跳log段,然後也寫了對拍寫了暴力,然而我的暴力和正解的排序是長得一樣的,因為我想法比較獵奇,然後某一個小於號我不知怎麼認為要是大於號,然後就GG,拍也拍不出來

T2一眼以為是什麼狀壓,設0/1狀態然後亂翻,結果發現根本無法求出來
然後一臉不可能一定是我太菜了的樣子一直在淦T2,想到了許多奇奇怪怪的性質然並卵,最有用的就是那個連續段但沒有想到可以用它來設估價函式。寫了迭代加深隨便亂設估價發現n=10都跑不出來還不如寫廣搜,結果腦子一抽把本來算好不會掛的空間開大了2倍就爆空間了QwQ

T3一眼狀壓,然而發現沒有時間寫了,就直接寫了暴力+樹的情況,然而樹的情況手賤把一個i寫成了1就全錯了TAQ

估分100+40+50=190,結果40+0+30=70
最後寫完已經只剩10分鐘了帶著GG的心態就沒有去對拍後兩題,導致身敗名裂,比賽後三道題總共修改5個字元就撿回120分的我對NOIP充滿著絕望

總結一下,T1還是要認真想清楚,對於每一個坑點自己出小資料驗證
T2要有搜尋的意識,雖然我們機房似乎對這種複雜度O(跑得過)的題都不是很感冒
不過搜尋強的人在NOI上很佔優勢就是了(@大媽)
還有就是被機子坑掉了,GDB用不了讓我很不爽,想用個txt寫程式碼都不行還得用Dev C++自帶除錯簡直反人類
不過誰也不能保證二中的機子不像302一樣坑人就是了,還是得有一個適應環境的能力啊

Round A Day 2

昨天掛了,今天題目水,提前退役(霧)
吸取昨天的教訓找了一臺開著的[劃掉]可以用的機子
T1一眼題隨便寫了個set收出了幾個小資料就過了,最後還看了好幾遍
T2一眼換根,想著先把式子寫出來然後就很好做,結果發現樣例跑不出來-_-
於是上樓把出題人拉了下來然後發現樣例錯了。。。
推出式子發現只和子樹大小和度數有關,換根就很好寫,這就很舒服,9:00寫完拍完
想著有將近3h搞T3不免有些膨脹,怎麼說T3開7s開O2就是給各種奇奇怪怪的做法過得
然後就陷入了一個奇怪的死迴圈,先想著如何優化連邊,然後發現我需要知道一個點所連出去的最小邊權,知道這個東西複雜度就已經O(p log p)了,而且還有不止1個
然後想最小生成樹的各種做法的優化,發現我都需要知道一些跟權值和模數有關的東西,於是想到了按權值分類,取個根號n做閾值之類的,然後發現根本優化不了。。。
其實想了3h也是想過好幾次跟正解很接近的,不過我認為這個是錯的就沒理他QwQ
結果最後我就打了個用堆優化連邊的東西,就是每次取出一條邊然後把它後面那個加入堆
隨手出了一個數據發現跑的賊慢,不過還是因為時間到了就交了
賽後又出了一個全是質數的發現我去吃飯之前都沒跑出來(:з」∠)

最後100+100+30=230大眾分相當於墊底,T3prim有多5分smgQwQ

總結什麼的
今天算是好好被虐了一次,T3各種奇技淫巧都能做到很高分,然而我思維被限制住了沒有想到只交了暴力
出題人真的強我奇怪的打法一分都沒有(雖然出題人表示資料和標程都是他py來的)
以後這種題還是要多想想,對於某一個想法不要主觀上覺得它是錯的或者是過不了,這樣可能會和其他那些仔細的和有信仰的人區分開來

最後,兩天總排墊底,成功成為5個sb之一
還好這不是聯賽,又還好我找到了自己的錯誤
明天,也要元氣滿滿啊!

Round B Day 1

今天的題似乎沒什麼好寫的。。。。
發下來pdf發現畫風不對,出題人debug?!
冷靜下來先看題,T1一眼二分+2-sat判定,然後發現只有60分
T2一臉懵逼,這是NOIP難度?!
T3博弈?感覺不可SG啊,看看能不能感受[劃掉]推出什麼結論
感覺整體難度比較獵奇,難道symbol給我們放了一套GDOI難度的NOIP模擬?
上了個廁所決策了一下,決定先去淦T1,畢竟2-sat不太熟,不能寫出來就血虧
仔細推了一下,發現連邊的邊數可以達到n^2,這就很不友善,又仔細想了一下,發現這道題連邊一定是向一個權值區間連邊,之前似乎聽子逸講過可以用線段樹優化,但是沒寫過很虛,在三權衡之下還是去寫了這個做法
發現自己的sb做法要連4種邊種2棵線段樹寫到倦生,然而它一次過樣例?!
當然大樣例沒跑過,開始寫暴力2-sat對拍
發現暴力也跑不過大樣例?!
又出去冷靜了一發發現暴力寫錯了=w=
然後出小資料對拍發現自己連邊有問題,稍微修改一下就拍不出錯了。。。
這麼穩的嘛(:з」∠)
看看時間已經10:30了感覺頓時又變虛,對著T2看了10分鐘決定棄療去淦T3
發現自己一直搞不出樣例?!
蒙了半個小時終於發現自己理解錯題意了
感覺正確的題意好像有很多奇妙的性質?!
從最簡單的2個點的情況向上歸納然後就發現了這個奇怪的性質
頓時對人生充滿了希望
花了半個小時寫完拍完覺得沒有問題就坐等比賽結束了
T2我可以做0分~~~

估分100+0+100=200,實際100+0+100挺穩的,接下來也要加油
賽後symbol說今天是集訓隊作業難度?!應該是集訓隊作業中的簡單題吧。。
(wxh修牆除外)
T2子逸在OJ上唯一得分1.4分巨大(並不)優勢(似乎雅禮有人30分?)
話說T1資料出那麼水那麼多人水過出題人你良心不會痛嗎(不會,還美滋滋的)
反正我在arc的原題上也是一次跑過=w=

總結?
保持狀態,不要膨脹,明天繼續努力!
不要再犯RoundADay1的錯誤!!!!

Round B Day 2

今天的題也沒什麼好說的(並不)
有了昨天的經驗知道今天也是CTSC模擬,一看到題就來想暴力
T1毫無思路,暴力都不會打,亂搞似乎有30?
T2這種數列似乎狀態比較少哦,應該不難做
T3應該可用斜率優化吧,100分應該是cdq分治之類的東西?
於是決定先去淦T1,感覺這場比上一場好拿分
然後想到9:40也沒有一個合理的穩定複雜度的做法
於是寫了個隨機化的N^2暴力跑一跑,發現隨機資料下跑的飛快
emmmmmm不幹了去想T2
這時已經10:30了感覺非常虛,自己後兩題應該非常有想法卻沒時間寫
T2果然是水題,隨便寫了個O(N)做法,一遍過大樣例,自信心++
T3隨便推一推發現這個斜率的式子很奇怪,似乎要用單調棧來維護,由於沒怎麼寫過想了好久實現上的細節
寫完拍完已經11:40了,這時候我爸開完家長會過來看我把我叫了出去。。。。
談了一會回來發現拍出錯?!
感到倦生把暴力嵌了進去打出一波GG
感覺這場大眾分會有180,只有140的我又開始懷疑人生

結果80(90)+0(100)+20=100(210)?!
T1OJ上有無解怎麼辦QwQ
自己手賤把==-1寫成==0送掉10分怎麼辦QwQ
T1能水過怎麼辦QwQ
T3多了10分怎麼辦QwQ
我也很絕望啊

總結?!
T1這種題還是要有信仰(嗎),畢竟這種搬CF原題的出題人一般都會把資料造的很有NOIP風格[劃掉]
不要想當然,每一步都要仔細思考,有時候自己會改變自己習慣的寫法,但回來修改的時候卻想當然寫會這種錯誤的寫法
T3至今不知道哪裡錯了,重新寫了一遍就過了,應該是某個斜率寫反了吧。。。

不要在一道題上停留太久,優先做掉自己有想法的題
明天又開始新的一場,繼續努力!

Round C Day 1

今天又換了一個機房作比賽,發現這個機子比之前的都要辣雞
這個gdb32竟然不能用,提示缺少zlib1.dll,結果用Dev-CPP都除錯不能啊
於是趕在斷網前重灌了一遍C++

T1smg,這不是圖染色?!NP完備?!n,m那麼大出題人你很棒棒哦?!特意加粗有向圖有什麼用?!這題有向無向有區別嗎?!
完全沒有考慮過自己看錯題了。。。。
T2簡單題,直接秒
T3一眼樹雜湊,但是之前沒寫過有點虛
決定跳過T1淦後兩題,T2很快寫完拍完,T3也很快寫完,手出一個小資料似乎沒錯,然後又看了幾遍程式碼,似乎沒有什麼錯,因為這道題造資料很麻煩而且還要手寫spj就直接跳了
回來看T1然並卵,還是沒有想過自己看錯題,也讀過很多遍題,結果每次都忽略了“到達”兩個字的真實含義
覺得出題人很棒可以去拿圖靈獎了。。。。
寫了個暴力+各種奇怪的水法來娛樂大眾

估分20+100+80=200,實際5+100+35=140
T1真·讀錯題還有5分真良心(嗎)
T3沒拍果然錯emmm,左後發現我寫造解的時候寫了個dfs,每一層我都用一個全域性的陣列儲存兒子資訊然後排序下去遞迴,然後。。。它就把上一層的資訊刷掉了
這麼zz的錯誤我竟然沒看出來?(雖然我似乎經常這樣寫?)
手出的樣例都過掉了?(似乎我出的都是二叉樹?)
實測亂寫的hash果然只有80分,賽後隨便加了一堆奇奇怪怪的hash才過掉。。。。

總結?
語文不好我也很絕望啊。。。
還是要具有懷疑精神,認真讀題面中的每一個字,NOIP模擬怎麼可能放一道讓你證明P=NP的問題呢=w=
還是要儘量去打拍,求算我T1不寫,花時間寫個T3的拍也許拍出錯也有180分也挺高的(似乎)
最近天天作比賽似乎有些累,還是得調整好身體狀態,不能在高一退役啊(霧)

Round C Day 2

棟棟T1沒過一定是在放水[確信]

T1看完題沒什麼思路,仔細想了想似乎有個很靠譜(嗎)的貪心,先過
T2看完題沒什麼思路,仔細想了想似乎有個很靠譜(嗎)的貪心,先過
T3看完題哇burnside,翻轉和旋轉還有顏色?n,m<=10^18讓我懷疑自己是否認真學過bunrside
唉burnside的旋轉是gcd啊,翻轉是什麼來著?引理講的是什麼來著?
真·沒有認真學
先推了一個小時終於想起來了似乎叫:本質不同的方案等於所有置換下的不動點個數和/置換數
然後要怎麼做?
算了打個T1換換腦子,很快打完拍完似乎沒有拍出錯那就當他是對的吧。。。
又回來繼續淦T3,翻轉是什麼來著?
一開始naive地認為翻轉之後再旋轉就可以O(n)統計
打個暴力發現直接把指數/2上取整就是了,愉快地打完發現樣例全部輸出大整數QwQ
我開始方了.jpg
又想了好久終於想起來了什麼:翻轉再旋轉等價於沿任意對稱軸翻轉(:з」∠)
終於過掉了沒有顏色轉換的資料(手出的)啊!
然後要怎麼做?
算了打個T2換換腦子,很快打完拍完似乎沒有拍出錯那就當他是對的吧。。。
又回來繼續淦T3,把每種顏色的變換也看做置換?
那麼就有2nm種置換,不動點?
不動點似乎不會變啊?!
那我答案直接/m?!
哇樣例過了!!!!嗎?
怎麼後面都過了4,2錯了?!
畫完圖發現不動點數還是會增加的,因為可以先轉再染色達到相同的QwQ
那麼怎麼做?!
由於對burnside理解不深加上思想僵化不會做了QwQ
只能過n,m互質的點了(然並卵)
隨便特判掉樣例成功成為(只)過樣例選手

最後得分100+100+0=200大眾分,成功被區分成不會burnside選手

總結?
以後學一個演算法要弄清楚它的本質,不要只記結論,遇到題目的變式就不會做了。。。
還有我pollard_rho板子竟然是錯的=w=
long long相乘黑科技原來long double 比double強那麼多啊

最後,無論如何棟棟T1沒過一定是在放水[迫真]

Round D Day 1

今天又是信心場,然而並沒有什麼卵用
早上被LOJ奶了一口Ak,結果被奶死了
T1一眼不會,想了一會並沒有什麼好的思路,結果發現大家都在猛敲鍵盤,先跳
T2由於忘了SAM板子怎麼打懶得手推懶得打SA就寫了雜湊,防被卡寫了三個模數(:з」∠)
T3是原題記得是線段樹合併很快寫完
回頭看T1想了一會想到了二分,發現可以用set維護一些東西,就變成之前samjia出的那道題,很愉快地寫了
三道題都寫完拍完才11:00,很悠閒地以為自己AK了
結果T3陣列開小了丟了40分
我算好空間是MlogA的,結果是O(MlogA)的。。。
這種空間給0.5G的題還是儘量開大一點吧。。。不要太慫了
今天體驗一般,明天繼續加油

Round D Day 2

最後一場模擬賽,還是一如既往的菜。。。
T1一眼看成了指數沒有偶數,還以為是高斯消元解方程組,結果發現不對,想了很⑨都不會,先跳
T2一眼題,發現數據良心不用打人工棧
T3一眼題,還是原題,決策了一下決定打LCT???
先寫T2,很快寫完不知道怎麼拍,手出了幾個小資料沒錯就跳
再寫T3,LCT20分鐘寫完,寫完就過樣例搞得我很虛,於是花了40分鐘寫暴力+對拍發現一拍就過更加虛
抱著算了這是最後一場模擬賽fst就fst不管了的心態去淦T1,想了更⑨還是不會。。。
最後30min寫了個暴力拿70分滾粗

結果70+100+100=270大眾分
T1分大於根號和小於根號的做法我是想過的,但是當時比較⑨沒有想到如何處理大質數,以為還是不太可做就放棄了QwQ

反正我是覺得LCT比較好打(:з」∠)
反正NOIP不考LCT_(:з」∠)_
反正後天就聯賽了,好好加油吧