天天看點

2014年百度之星 資格賽題解

1001:

1001 題目

思路:

  直接模拟,因為題目給出的數列增長速度很快(大約是指數級的)。是以一定能在很短的時間内達到目标(如果可以達到)。

除此之外,特判一下不能達到和在最開始就達到的情形。注意用long long 中間結果可能溢出整型。

代碼:

1001 代碼

1002:

1002 題目

  動态規劃。

  根據題目描述,可以确定,移動的形式一定是一去一回最短,是以每個資料點有兩種選擇:出去的時候讀取,回來的時候讀取。

  然後我們可以把回來的時候的讀取過程逆過了,這樣子就變成的有兩次出去,是以我們可以枚舉每次讀取是在兩條線中的哪一條就好了。

  最後,把兩條線連起來就可以得到結果。

1002 代碼

1003:

1003 題目

  把數字當做二進制,然後先找高位數字不同的,然後找低位數字不同的。

  可以先排個序然後而二分,或者用字典樹。注意輸入可能超整型

  我用的字典樹,然後順着路徑找就是了。

1003 代碼

1004:

1004 題目

  動态規劃

  以每一列作為一個階段,求出目前階段每一格可能達到的最大值,然後轉移到下一階段。具體詳見代碼。

1004代碼