聯賽前上vijos板刷往年聯賽題,使用在線編輯編寫代碼,祝我rp++。
廢話不多說,挑比較有意思的記一下。
題目是按照年份排序的,最早只到了03年。
有些題目因為 我還沒寫/很早之前寫的忘了 所以就沒寫題解。
NOIP2003
神經網絡:按照題目怎么說怎么做,BFS即可。注意輸出層是指出度為0的層,不是指深度最大的。
傳染病防治:爆搜題,枚舉每一層減掉哪個。復雜度不可算,理論在O(2^30*8!)左右,但好像強勢不滿。想了一會貌似卡不掉?
NOIP2004
蟲食算:知二推三,邊搜邊判。
NOIP2005
篝火晚會:首先你得知道兩個排列可以看成若干個環,而且每個點只要轉一次就可以轉出來……而這題正好是兩個排列的形式,即找到一個1-n的環和原環匹配最多就是不要動的人。把每個人在環中的1的位置記下來取最多的就好了。
過河:把邊權>=100的縮成100,因為長度過長沒有意義,大於100了前面的情況必然可以湊出來,然后在1000下暴力DP即可。注意特判S=T的情況,還有不要以為給出的點都在L內。
等價表達式:隨便找幾個數字(1~20)帶進去算在模意義下都相等就可以了(跟解方程的思想有點像?),重點是化為后綴表達式處理的trick。
NOIP2006
2^k進制數:大整數組合數。
NOIP2007
先坑着
NOIP2008
傳紙條:顯然的網絡流,其實化為四維DP可做。
雙棧排序:若存在i<j且A[i]>A[j],即A[j]在A[i]前面彈棧。因為A[i]最終也要出棧,所以比A[i]還要大的、在[i,j]中間的一定不能和A[i]在同一個棧中,即構成二分圖。判斷有解就是二分圖染色。輸出……反正我鐵定WA的輸出因為數據水過去了,不予置評。
NOIP2009
Hankson的趣味題:醉題,復雜度O(nsqrt(B)logB)但是跑得過?反正我是不會什么更好的解法……
最優貿易:SPFA求出從1出發能買進的最低階,從n出發沿反向邊能賣出的最高價,最后枚舉邊減掉就好了。
靶形數獨:裸搜貌似有90?然后從已知信息最多的那個角落搜有100?還有很多剪枝就懶得加了(最優性啊之類)。
NOIP2010
關押罪犯:10年前的NOI題弱化版,二分答案+二分圖染色/直接並查集補集都可以過。
引水入城:搜索處理覆蓋線段,貪心/DP回答區間數量問題。
烏龜棋:強行四維存個數的一眼DP。
NOIP2011
計算系數:考你會不會楊輝三角。
聰明的質檢員:數學直覺+二分答案。
觀光公交:不知道為什么是對的貪心,然后O(nk)跑得過。題解的話這里。
NOIP2012
國王游戲:套路貪心,強行高精。
開車旅行:碼量較大,set尋找下一步后倍增,注意最后一步的細節。
借教室:二分答案+差分看是否合法(線段樹卡常好題)。
疫情控制:貪心神題,到根后盡量小的匹配小的。
NOIP2013
火柴排隊:首先肯定是rank x對 rank x,然后就是一個交換問題。因為一次交換可以且僅可以減少一個逆序對,而最終序列沒有逆序對,所以求出逆序對數就可以了。
積木大賽:治各種學傻。求出右-左的差值大於0的數的和即可(自證)。
花匠:簡單DP或者直接找拐點。
華容道:毒瘤題,把65分的求最短路給預處理出來跑SPFA即可。
NOIP2014
聯合權值:乘法分配律逆過來推,記得答案×2。
飛揚的小鳥:向上完全背包,向下0/1背包,細節巨多巨惡心。
尋找道路:先反過來BFS一遍,找到符合題目要求的點,然后直接BFS找最短路即可。
NOIP2015
子串:f[i][j][0/1]表示A到了i,B到了j,當前失配否的量,轉移就很顯然了。
NOIP2016
不太想寫,生氣。
NOIP2017
不想寫,生氣。
(坑先留着)