前幾天寫的那個純屬搞笑。(額,好吧,其實這個也不怎么正經)
就先說說day2吧:
T1:這個東西應該叫做數論吧。
然而我一看到就照着樣例在紙上推了大半天(然而還是沒有看出來這東西是個楊輝三角)
然后就想干脆先把n≤25的拿了再說(這個爆不了long long)
然后就硬套用那個組合數公式。
再然后,就只拿了35分。
T2:我勒個去。
這個東西應該用堆來優化的吧。
然而並不會堆。
然后就切一個遍歷一遍把兩端都再加進去(雖然我知道這個時間復雜度估計連20都拿不了)。
一個估計是正解的東西:
思考一下,我們一定會切最長的那一個(廢話,題目的要求),然后就是對於一個已經切過的蚯蚓來說,它首先被分成了i,j(i>=j)那么一定要先切i。
然后就要開三個隊列。
第一個維護已經排好序的原蚯蚓長度。
第二個維護被切后長度長的那一段蚯蚓。
第三個維護被切后長度短的那一段蚯蚓。
這樣的話據說是線性的(如果這個做法真的能ac的話)。
T3:
angrybirds??
所以說去年是斗地主,前年是flappy bird。然后今年就是angrybirds?那明年估計就要出植物大戰僵屍了(這個Flag就立這里了)。
言歸正傳:
作為一個第一年參加的蒟蒻,看完題以后腦海里就兩個字:朕不會!!(一,二,兩,恩沒錯,就是兩個字)
好吧,大神們說這個么狀態狀壓什么的,真心不會。
然后枚舉兩個豬,再加上鳥,總共三個點,能確定一個拋物線。(標號最小的豬一定要死,每次可以解決最小的豬,只枚舉另一只豬來確定拋物線)。
然后就沒有然后了,寫了個騙分的東西,然而沒騙到。
------------------------------------------------------------------------------------------分割線-----------------------------------------------------------------------------------
day1:
這個東西今年是要逆天呀。
T1:
摸你題。比較簡單的吧。
但是,那么長的題目描述說真的第一次看嚇到我了。(還有那個真的想再吐槽一次的mogician)
然而就是細節比前兩年的多多了,寶寶本來的滿分程序,被卡掉了70分。
在此提醒同志們,寫if一定要加else。
其實就是判斷一下往左數還是往右數,然后你現在的小人是朝內還是朝外。
T2:
當我第一次看到這道題的時候,其實我的內心是:
這樣的
這樣的
還有這樣的
還有這樣的
等等,這個是什么鬼。
秒秒鍾的55變25有木有
算了說正經的。
作為一個連樹都沒學過的男人,我真的真的不知道這個東西到底怎么搞。
於是寫了個25分的暴力。
下面是轉自WerKeyTom_FTD的博客的T2正解。
我們用d表示深度,a表示一條路線的長度。
對於路線S->T,若lca為V,拆成S->V以及V->T兩條樹鏈。
對於S->V上每一個點j,其答案可以加一的條件:
dS−dj=wj
dS=dj+wj
右邊只與j有關。
同樣,對於V->T上每一個點j,其答案可以加一的條件:
dT−dj=ai−wj
dT−ai=dj−wj
右邊只與j有關。
因此思考離線做法,對於一條路線,在S和T分別打兩個tag,並在lca即V處回收tag。
用兩顆線段樹維護子樹內目前還沒被撤銷掉的dS和dT-ai的權值線段樹,權值可能為負數需要設置一個絕對值的最大值來加上,或者提前進行離散化。
這個線段樹是單點修改和查詢的,用線段樹僅僅是因為線段樹可以進行合並。
這個算法帶log,如何線性知道一個子樹內某權值的數量?
維護一個桶,進入一個節點時得到該節點子樹所需權值的數量t1,退出該節點時在桶中得到該節點子樹所需權值的數量t2,那么顯然該子樹內有t2-t1個所需權值。
T3:
這個題猛一看就像是不可做的。
我們會發現這個題辣么長的題目描述,
辣么神秘的期望值,
辣么長的題目描述,
以及那個令人發指的需要自己推大半天的表格。
然而,當真正去想的時候,原來這題的暴力分真的非常好拿。
下來后聽機房的大神說這道題:
第一句:"wc原來都是套路”
第二句:"這不就是個那個背包模型,只要再加上那四種情況就行了"
第三句:"然后在用一下dp就可以了"
沒錯,這就ok了。
---------------------------------------------------------------------------------------------------------分割線-------------------------------------------------------------------------------------------------------------
最后,也是本人要說的最最最重要的一點。
1.千萬千萬不要相信監考老師,你就相信自己機房里的學長和機房的老師說的提交各式,然后按照這個格式提交,千萬別讓監考老師檢查(因為他們根本什么都不知道)
2.寫if的時候一定一定要加else。
3.考試的時候別讓別人或其他因素干擾你的思路和考試的心情。不要因為題太難導致根本就不想做,也不要因為題太簡單就掉以輕心:
比如這回的day1算是比較難的了,但是那些難的題給的暴力分也是比較良心的,千萬不要連暴力都不想敲。
然后就是day1的T1了,我以為很簡單,結果......以后寫if一定要加else!!!!!!!
4.吃好,玩好,睡好,喝好,休息好(100kg的本尊覺得這一點非常非常重要)。
5.最后一點,文件名千萬不要打錯,無論是輸入輸出的文件名,源代碼的文件名,以及外層文件夾的文件名,還是最外層以考號命名的文件夾,一旦錯一個就是致命的錯誤。(本人就是文件名錯的,然后第一次noip就完美的爆零了,監考老師說如果誰的提交各式有問題讓他看看,結果老師告訴我沒問題,你交吧......)
注:文中出現的我的成績都是用官方數據自己用評測機評的(誰讓我文件名打錯了呢)。