Codeforces Good Bye 2013

題目鏈接

代碼鏈接

A:

沒有任何最優性質,只要能點亮就點亮,能換就換,到不能換爲止。

B:

讓機器人從左走到右,再從右走到左,遇到能pick的就pick一下,最多要2*300*300步。

C:

從小到大排序,然後從左到右把數儘量往小了放。

D:

設串s的‘AC’數量爲cnt,則容易發現 s[i].cnt = s[i-2].cnt + s[i-1].cnt + (s[i-2]以‘A’結尾 && s[i-1]以‘C’開頭),因此只需要枚舉s[1]和s[2]的cnt數量,是否以'C'開頭,是否以‘A’結尾,然後遞推計算s[k],判斷s[k].cnt是否等於x即可。

比賽的時候很逗的抽象成了斐波那契模型,還看錯範圍敲了一發矩陣快速冪。。出題人真不厚道啊,這樣都能讓我過pretest。。

F:

做法很簡單的,維護當前樹的直徑的兩個端點a和b,然後每次新加入點x的時候,判斷dis(a,x),dis(b,x)是否比原來的直徑dis(a,b)要長,是則更新直徑和端點。

證明:下次慢慢寫,去複習了- -。

提示:樹的所有不同端點的直徑,都至少會有一個交點(我從這裏想的)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章