1. 程式人生 > >胡小兔的 PKUSC 2018 遊記

胡小兔的 PKUSC 2018 遊記

長度 遊記 pro 小兔 都在 的人 前綴和 思路 inline

胡小兔的 PKUSC 2018 遊記

Day 0

一番糾結之後,我還是選擇了 PKUSC (Penguin Kingdom University Summer Camp, 企鵝王國大學夏令營)!

理由?扔硬幣決定的理由如下:

  • PKU好啊
  • PKU放出初審名單時間比THU結束報名確認時間還晚……大概有點想去THU的這樣一來就全去THU了?去PKU的人就少了?
  • THUWC的心理陰影 = =

於是開心地通過了初審,在真·教練員的陪同下第四次來到了北京。

北京好熱啊!大連真是一個冬暖夏涼的好地方,以後到北京上學被熱死可怎麽辦啊(你tm先考上再說吧)

住在PKU西南的一個小酒店,一個人住標間,房間超級小(小得讓我想到CTSC的珀麗酒店),過道連個箱子都放不下……一個床用來放箱子一個床用來放自己剛剛好2333

放下箱子就去找SCaffrey學長辣!(企鵝學長對我能見到他心愛的學長這件事表示羨慕 =v= )然鵝SCaffrey在上課……遂一個人在PKU溜達。這是我第一次進北大,雖然在地圖上鳥瞰覺得PKU比隔壁小,但是實際上似乎……並不小的樣子?迷路好多次TAT

在一個地下咖啡廳做了一個小時的 Jewish Problems 數學題,發現自己什麽都不會做……

在西北角我發現了鴨子!一只大鴨子和n只毛茸茸小鴨子在一塊石頭上休息……我走近鴨子們也不怕我( ????? ),於是我就近找了個椅子坐著優哉遊哉看鴨子——半個小時後我發現有螞蟻正在我腿上往上爬……把螞蟻抓下來後,我連忙離開了鴨子們,去找差不多下課了的學長了。

24OI一代傳說SCaffrey學長帶著我看了一下機房的電腦……對用的是Windows而且有Vim沒Emacs的電腦表示震驚……在蹭了學長兩頓飯……農園二樓還是很可吃的……(可惜後來發現pkusc卡不能用來刷農園二樓)

下午是報到,SCaffrey學長說他當年第一個去報到然後拿到了降60,於是我也去第一個報到了!要是也能降60就好了……

Day1

Day1上午是萬惡的數學考試!懷揣著“數學考試影響不會很大吧”的自我洗腦心態,十道題我做了六道題的樣子……其中有一道還是昨天做的 Jewish Problems 裏的原題,據說前幾年還考過這道題?

考完數學覺得對於我這樣的數學菜雞來說做出這些已經很不容易了,於是開心地吃了午飯,到機房門口準備參加下午的機試。

T1

題意大概是:有N個人,每個人有各自的成績(非負整數),選出K個人使他們成績變成原來的兩倍,問對於每個人,有多少種選法中他的排名和原先的排名一樣。N記得是1e5還是1e6的樣子?

看起來是一道非常可做的題啊!對每個人分類討論他自己選沒選,沒選的話要從選後不影響它排名的人中選K個,選了的話設排名減少了C,要從選後影響(乘二後的)它的人中選C個,再從不影響(乘二後的)它的人中選(K - 1 - C)個。

於是我愉快地寫完了。交上去WA好多。很久以後發現數據中會有人成績是0。特判後終於AC。成功耽誤1h。

T2

給一個長為N的序列,問隨機打亂後最大前綴和的期望,N <= 20

這啥玩意啊?稍微冷靜想想後發現\(O(n3^n)\)的做法我會,加上兩個特判點能得60分……一直想想出正解……沒想出來……

T3

啥?主鬥地?鬥地主?又雙叒叕是鬥地主?現在的OIer是不是只有我一個人不會鬥地主了?

由於看到九條可憐+鬥地主感到過於害怕、且對鬥地主一無所知、且連第一個包的性質都沒有發現,遂爆零之。

考完發現我好菜啊!開考2h之後啥都沒幹!似乎大眾分是230……我比大眾分少70……感覺要沒約滾粗了!

郁悶地吃完飯回去頹了。C君更新的實況還是要看的 = =

Day2

考試這兩天睡得都莫名不錯……

今年不知為什麽面試安排在第二場機試前面!我這種菜雞也可以告別【沒進面試】的絕望啦!

面試分三場,在不同的房間,面試官是不同的人……

第一場

閑聊……面試官很和藹,自我介紹我吹了一通牛逼,我說我會畫畫,然後面試官問我現在手裏有沒有能給她看的,我打開手機第一張圖是《明明是我先來的》(THU vs PKU版),然後就不敢把手機給面試官了 ><

第二場

又是閑聊……面試官說:“剛才有個選手跟我說D類名額,什麽是D類名額啊?”我解釋了一下,然後面試官又問“那什麽是C類名額啊?”迷啊……剩下的時間面試官都在和我談“學競賽的女生很少啊”“你覺不覺得吃力啊”“你覺得男生和女生思維上有什麽不同啊”……我日常吹一波我遼寧三大老爺們的故事 =v=

第三場

還是閑聊……面試官問我“你之前怎麽沒有簽過約啊?”“你要是這次沒簽到的話有什麽打算啊?”問得我很惶恐。然後面試官又問我昨天考多少分,我說160,面試官說“哦……”。最後我著急地說:“老師,我很希望能夠抓住這次寶貴的機會……”面試官:“哦,我也希望你能。”好慌啊……

為什麽都是閑聊啊?為什麽感覺給我面試的老師沒有幾個是信息老師啊?聽別的選手說還有問戀愛情況的……還有給你張紙讓你畫個畫的……還有讓英文自我介紹的……還有個別問學術問題的……

吃完飯看時間還早,在PKU一處長椅上躺了一會。不知道睡沒睡著,但是被蚊子咬了三個大包。

然後就是決定命運的第二場機試了!

T1

\(n\)個點,第\(i\)個點向\([L_i, i - 1]\)的所有點連長度為1的無向邊,保證\(L_i \le i - 1\),有\(q\)個詢問,每次給出\(l, r, x\),問\(x\)\([l, r]\)中各個節點的最短路之和。

本來覺得應該挺可做的的吧?然後想了半天想不出來,只找到一個小性質——從\(u\)\(v(v < u)\)的最短路上,u最多只向右走一次,而且這一步的終點是“所有向右一步能到達的點中\(L\)最小的”(下文提到時記作\(R_i\)

有一個\(O(n ^ 2)\)的暴力,沒有想出來……又去看了看T2,毫無思路,回來下定決心把T1暴力寫了,然後發現剛才想的一個思路就差一步,很快把這個70分暴力寫出來了。做法大概是\(f_{i, j}\)表示\(i\)\(j\)的最短路\((i \le j)\),如果所有的邊都是由右向左的單向邊,\(f_{i, j} = 1 + \min_{k = L_i}^{i - 1} f_{k, j}\),用一個單調棧維護後綴最小值,然後就可以\(O(n^2)\)預處理這種情況下所有最短路了。然後再對每個點考慮第一步向右走了的最短路,就是\(f_{i, j} = \min (f_{i, j}, f_{R_i, j})\)。然後就可以\(O(1)\)回答詢問了。

然後想搞正解,沒有思路……

T2

有一個字符串,由‘0‘、‘1‘、‘?‘組成。‘?‘可替換成‘0‘或‘1‘。稱一個數\(x\)是字符串的border當且僅當字符串的x長度的前綴完全等於字符串x長度的後綴。問有哪些\(x\)經過對‘?‘的替換後可能成為border。

寫完T1暴力後T2也找到了一個性質。當\(x \le \frac{n}{2}\)時似乎很可做,分別比較前面的1是不是對應到了後面的0、前面的0是不是對應到了後面的1即可,這個用FFT能做到(就是一個數組把是1的位置設成1,另一個把是0的位置設成1,卷積一下,某一位對應的不是0則說明有矛盾。之後再反過來做一遍)。

\(x > \frac{n}{2}\)時,發現這個“前綴”與“後綴”有重疊,設\(k = n - x\),即前綴向右平移了\(k\)個字符成為了後綴。則位置\(i\)的字符與位置\(i + k, i + 2 * k, …\)的字符都要相等,發現只要\((i - j) \bmod k = 0\)就要滿足i的0不能對應j的1、i的1不能對應j的0。於是FFT一邊,對於每個\(k\)枚舉\(k\)的倍數——\((i - j)\),即可判斷是否合法。

先用這個性質寫了發暴力,交上去過了暴力點,然後放心大膽寫正解,A啦!(A之後上了趟衛生間,走路姿勢都變拽了……)

T3

計算幾何?!

寫了半天,交上去,爆零。調不出來。再見。

第二天也結束啦!似乎發揮得比第一天要好一點……雖然還是趕不上dalao們口中的“大眾分”……

Day3

閉幕式了,非常忐忑,這天早上是唯一一天沒一覺睡到六點的(也有可能是蚊子包太癢了)。

聽了講題,有點心不在焉,很多地方沒聽明白,不知道什麽時候能把題放出來我再研究研究。想起吉麗出的兩道題我都爆零了,難受啊……(“有人得分的題就是區分度好的題”——吉麗)

終於開始念名單了,忐忑地聽了能有二三十個之後,居然念到我了!我當場大喊一聲“臥槽!有我!”便擠出去拿約。

約上寫了好多字……真·教練員突然出現(我之前沒有看到他……),告訴我這是無條件降60的意思。當時覺得心裏的石頭終於落了地了。NOI考前100還可以降一本,努力吧!

總結?

第一次簽到約……結束了兩千多年的封建帝制結束了半年來的“沒學上”的忐忑不安……可以更專心地準備NOI了。

聽說THUSC特別可怕,遼寧全軍覆沒了啊……心疼學姐、高大佬、薛大佬他們……(反正他們這麽強 NOI會Au的吧)

加油加油咯!

胡小兔的 PKUSC 2018 遊記