USACO演算法系列二十七 cryptcow

2021-05-23 22:24:50 字數 567 閱讀 1335

題目:http://www.nocow.cn/index.php/translate:usaco/cryptcow

好**的一道題。我現在寫出來的程式可以通過7次加密的,但是8次加密的求解有點難度,會超時。畢竟使用的是最笨的回溯演算法。

有幾個注意點吧:

第一, 要優化搜尋順序。經過試驗我們可以發現,o的位置對於整個cow至關重要。可以說,o的位置決定了整個串是否會有解。因此,我們在搜尋時,應該先列舉o的位置,然後再列舉c和w的位置。而且從o開始感覺思路會清晰很多。

第二,乙個有解的字串中,cow三個字母最早出現的應該是c,最後出現的應該是w,如果不滿足則剪枝。

第三,對搜尋到的字串,設不包含cow的最長字首為n字首(同樣也可以定義n字尾),那麼如果n字首不等於目標串的長度相同的字首,那麼當前字串一定無解,剪枝。n字尾也可採取相同的判斷方法。

還有其他的根據長度,進行粗略判斷的。另外別人的解題報告裡面還有其他的方式。

總之大體思路就是回溯剪枝。

另外發現gcc的編譯器,跟微軟的自帶編譯器有點不一樣,第一次出現本地編譯通過,伺服器編譯不通過的情況。

有時間好好看看這兩塊的區別。

USACO演算法系列三十七 shuttle

題目 http www.nocow.cn index.php translate usaco shuttle 將左邊的所有w移動到最右邊,將右邊的所有的b移動到最左邊。如果通過模擬的話,我覺得會超時,但是並不用模仿每一步移動步驟。因為可以通過以下幾個規則一定可以得到結果。如果 wb 模式,則 bw ...

USACO演算法系列十四 fence

題目 http www.nocow.cn index.php translate usaco fence 看完這道題目的第一想法就是,遍歷所有的邊,而且每一條邊的經過次數只能一次。是離散數學裡面的圖論的尤拉通路問題,在這裡充分體現了數學的重要性。定理 無向圖g有尤拉通路的充分必要條件是g為連通圖,並...

USACO演算法系列十六 續

題目 http www.nocow.cn index.php translate usaco camelot 昨天晚上寫了乙個晚上的這道題,各種邊界條件和意外情況。看著自己寫的600多行 和一連串的test ok.心裡特別有成就感,但是看了別人寫的 80幾行,就發現了實力的差距。先說說自己的想法吧,...