2015 ACM多校訓練第四場

在下面網址看效果更佳>_<

http://mlz000.github.io/2015/09/14/2015-ACM%E5%A4%9A%E6%A0%A1%E8%AE%AD%E7%BB%83%E7%AC%AC%E5%9B%9B%E5%9C%BA/

題外話

思考了一下人生,快打regional了,功利一點說多校的題並不需要每道都補,一些比較喪病或者煩的題我暫時就跳過了吧QvQ,先把正常向的題補了。。


hdu 5327(1001) Olympiad

Solution

SB暴力題,暴力算就好

Code


hdu 5328(1002) Problem Killer

Solution

水題,等差等比O(N) 掃的時候判斷即可

Code


hdu 5329(1003) Question for the Leader

Solution

簡化問題,考慮把一棵樹分成k 塊,這時一個顯然的結論是如果有k 個子樹大小爲nk 的倍數,即可以分成k 塊。
考慮原問題,原題是一個基環加外向樹,考慮不在環上的點isz[i] ,顯然可以直接計算。在基環上的點,不妨考慮斷掉一條邊後每個點爲根的子樹的sz ,容易發現是一個前綴和的形式。然後我們對枚舉的k 取模,每次O(N) 枚舉在環上斷掉哪條邊即可。
複雜度O(N×logN)

Code


hdu 5330(1004) Route Statistics

Solution

dp題,考慮dp[S][k] 表示與S 這個點距離爲k 的個數。(S 是一個長度爲維度的0,1,2 串)我們最後求出所有的dp[S][k] 即可。
我們發現可以枚舉中間某位不同,把那位分別替換爲0,1,2 三種情況來轉移,簡單dp一下即可

Code


hdu 5331(1005) Simple Problem

Solution

這個題其實並不Simple = =模型轉換比較神,代碼比較長,暫時沒補,以後再說QvQ


hdu 5332(1006) Test for Rikka

Solution

這個一道比較有趣的題,B=Am,B[1][n]=k 很容易想到,我們相當於從1 開始走m 步到達n的方案數是k。
這樣至少有個方向了。然後我們考慮特殊的圖,完全圖。
一個n 個點的完全圖,且每個點都直接與自己相連,走x 步到達每個點的方案數都是nx1 ,然後怎麼做呢。
我們很容易想到進制拆分,把k 寫成a[i]×ni 的形式,我們只需要搞出a[i] 就可以了,我們可以把終點n拉出一條鏈,分別表示成對應ni 次方,然後不妨考慮完全圖上有a[i] 個點和鏈上連,這不就是a[i]×ni 了麼!至此,問題解決

Code


hdu 5333(1007) Undirected Graph

Solution

LCT題,先跳過= =以後再補


hdu 5334(1008) Virtual Participation

Solution

k105 時,全輸出1 即可
否則,不妨枚舉有i1j2k3 ,則,i+j+k+i×j+i×k+j×k=x ,枚舉i,j 即可,看上去複雜度非常高,其實滿足條件的i,j,k 不會特別大的

Code


hdu 5335(1009) Walk Out

Solution

細節題,先一直沿着0走到距離終點最近的距離,把這些點加入隊列。
之後顯然可以貪心走,輸出答案時要注意細節。我寫的有點煩= =

Code


hdu 5336(1010) XYZ and Drops

Solution

沒什麼好說的,大暴力就行,大水滴小水滴個數都不多,暴力複雜度完全可以接受

Code


hdu 5337(1011) Yet Another XYZ Problem

Solution

大型討論題,先跳過= =


hdu 5338(1002) ZZX and Permutations

Solution

這題題意非常蛋疼,讀懂了以後並不難做。
由於字典序要求最大,很容易想到貪心,不妨按位貪心,考慮第1 位,查詢1 這個數的下一個數,不妨設爲A ,看之前的區間最大值B ,如果A 更大的話,標記A 值使用過了,說明這個循環節可以用後面的替換。如果B 更大,說明當前位置到B 之間是一段連續的區間,確定下來了,然後把區間位置插入一個set裏,表示這段區間已確定。就搞定了

Code

完結撒花!
繼續補題!>_<

發佈了86 篇原創文章 · 獲贊 7 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章