2011年2月22日 星期二

Codeforces #57

由於太累,頹寫幾題就睡了。回來後補做所有題。

A: 問的是二進制字串的。秒殺。

B: 問的是給了,先求去掉符號、無視大小寫的任意種排列後再接上的字串。然後給出個詢問,同樣是去掉符號和大小寫,是否其中6個排列之一。map秒殺。

C: 給了後有兩種操作。如果b是整數的話則輸出(即一般進制轉換),否則把輸出成羅馬數字。原本描述寫得比較混亂。但進制轉換是比較輕鬆的,至於轉羅馬數字,我是立即Google找代碼的。後來得知被Egor叉了,想了一會立馬知道自己腦殘了–進制轉換沒處理0的情況,輸了出空字串。今天改了後過了。

D: 給了一個帶權樹,以點1為起點,要遍歷所有點至少一次的最少費用是多少。想了一些很腦殘的算法但沒過,但至少在睡前刷牙的時候正常了點。設以1為起點的最大路徑費用是,則答案是

E: 問的是給了一個數列A,問有多少個,並保証。直觀的想法是先用歸並排序求每個元素的逆序數,然後再以原輸入再以歸並排序時求帶權的逆序數。即兩次歸並排序可以解決。

沒有留言: