Codeforces1393 題解(A-D)

AC代碼git

A. Rainbow Dash, Fluttershy and Chess Coloring

能夠推導出\(f_1 = 1, f_2 = 2, ..., f_n = f_{n - 2} + 1\)github

而後就能夠推出\(ans = \lfloor \frac{n + 2}{2} \rfloor\)app

B. Applejack and Storages

記錄\(x\)出現的次數,以及分別記錄出現次數大於等於\(2, 4, 6, 8\)\(x\)的個數,以此記爲\(ge2, ge4, ge6, ge8\)spa

當且僅當\(ge8 \ge 1\),或者\(ge6 \ge 1 \text{ and } ge2 \ge 2\),或者\(ge4 \ge 2\),或者\(ge4 \ge 1 \text{ and } ge2 \ge 3\)時,答案爲YES。ci

C. Pinkie Pie Eats Patty-cakes

貪心的將出現次數最多的數字儘量地分散便可。get

D. Pinkie Pie Eats Patty-cakes

這題能夠用dp作。it

首先,經過觀察能夠獲得一個格子對答案的貢獻等於以這個格子爲中心的最大目標圖形的半徑長度。可是獲取這個半徑是很難的。io

不過,一個目標圖形能夠由4個以這個格子爲頂點的等腰直角三角形拼接獲得,而且4個最大直角邊長度中的最小值就是當前格子對答案的貢獻。用dp能夠很容易的維護一個方向上的最大直角邊長度。ast

因此,只須要用4次dp來獲取4個方向上的最大直角邊邊長,最後再取4箇中的最小值,獲得的值就是一個格子對答案的貢獻。class

全部格子貢獻之和即爲答案。

E1. Twilight and Ancient Scroll (easier version)

題目都看不懂,提早溜了。

相關文章
相關標籤/搜索