NOIP2013-2014提升組題目淺析

一、前言算法

  迎接NOIP的到來。。。在這段閒暇時間,決定刷刷水題。這裏只是做很是簡單的一些總結。編程

 

二、NOIP2014數組

<1> 生活大爆炸之石頭剪刀布(模擬)網絡

這是一道考你會不會編程的題目。。。方法有不少,預處理輸贏矩陣,或者一大堆if什麼的亂搞就好了。優化

 

<2> 聯合權值(搜索)spa

簡單的樹上求解問題,因爲只須要長度爲2的鏈,只要可以清楚地分析出各類狀況,一遍DFS直接出來:自身節點與祖父節點有一對;自身節點與兄弟節點有若干對。在計算權值的時候存在一個優化,即若是每次獲得一對以後就計算貌似會超時,咱們能夠對於每個點記錄與其距離爲2的點,求和,最後在相乘。遊戲

 

<3> 飛揚的小鳥(動態規劃)搜索

徹底揹包動態規劃+優化。我的感受70分的裸DP比50分暴力還好拿些,畢竟搜索寫起來比較麻煩。可是因爲n<=10^5(貌似是的?),O(n^2)是過不了的,須要強加優化至O(n log n)。循環

 

<4> 無線網絡發射器(模擬)技巧

這道題給咱們的教訓就是,預估時間複雜度是很重要的。據說考場上有多人加些優化而後跪了的。。。數據範圍極小,因此咱們暴力枚舉地圖上全部點,而後求在發射器範圍內點的個數,因此這又是一道考你會不會變成的題目。

 

<5> 尋找道路(搜索/最短路)

正反進行兩次搜索(DFS/BFS/SPFA都可,可是推薦BFS+SPFA),第一次求得全部能夠通過的點;第二次直接跑就是了。

 

<6> 解方程 (高精度/哈希/其餘)

此次NOIP惟一上點檔次的題目吧?30分暴力;50分直接高精度;70分的話就須要必定技巧了,取幾個合適的模,而後進行判斷,在取模意義下爲0就認爲是爲0。注意到在mod p的狀況下,將x和x+kp代入,解顯然是相同的,因此隨便搞搞就好了。用FFT什麼的就不說了。

 

 

三、NOIP2013

<1> 轉圈遊戲(GCD+快速冪)

轉圈次數無比之大,可是顯然結果是存在循環的。首先經過尋找規律,求得循環節,而後利用快速冪,求得答案。

 

<2> 火柴排隊(逆序對+樹狀數組)

這道題我的以爲有點非主流。首先我確保我考場上寫搜索,寫貪心,寫動規,可是以爲不會知道逆序對這種東西,何況我YY能力也是有限的。。。。知道逆序對以後,基本就保證80分了,由於直接O(n^2)循環就好了;可是因爲100分數據,n<=10^5,故須要利用樹狀數組優化到O(n log n)。

 

<3> 貨車運輸(最大生成樹+倍增LCA)

裸生成樹30分。對於100分,首先用Kruskal算法求出最大生成樹,而後能夠利用樹上倍增LCA加速。也是剛剛學會的。

 

<4> 積木大賽(二分)

每次一排排搭積木能夠當作一排排刪積木,二分查找當前區間中最小值,而後刪去,以最小值點爲中點,再分別求解。

 

<5> 花匠(貪心/動態規劃)

 貪心好!寫!多!了!去年這個時候還不是很理解,爲本身智商捉急。動規也不是很難,70分很輕鬆,可是想要100的話須要稍微想想。強烈推薦貪心。

 

<6> 華容道(最短路)

60分直接用BFS解決。100分的話須要利用SPFA優化每一遍BFS所走的重複的路。

相關文章
相關標籤/搜索