原创 POJ 1163 解題報告

題目意思: 在 Triangle中從上到下,按照規則走,找出路徑最大值。 思路: 這題可以用 DP 去解。 子問題定義爲 F(i, j)。 i 是行數, j 是列。 F(i, j)的值是從第 i 行第 j 列開始的 Tria

原创 UVA 120 解題報告

題目意思: 給出一序列。問需要翻轉那些位置的元素能夠使到序列變爲升序。輸出這些位置。最後加一個0. 解法:每次取出下一個最大的數,如果這個數當前的位置是合法的,就 continue。否則就根據這個元素的位置進行選擇翻轉。 代碼鏈

原创 UVA 123 解題報告

題目意思: 就是根據 word 進行字典序排序輸出 titile。只是title 中的某些 word 要進行ignore。 代碼鏈接:UVA 123

原创 HDU 2046 解題報告

這是一題簡單的遞推題,可以用 dp 解題。 遞推公式: F(i) = F(i-1) + F(i-2) 需要注意這題50時會爆 int。所以用__int64 代碼鏈接:HDU 2046

原创 UVA 10106 解題報告

題目意思: 模擬大整數的乘法,兩個數都是大整數。 能解uva 424的話,這題就只是多了乘法的步驟而已。 注意點: 1. 注意任意一個數是零時的處理。 2. 注意前導零的處理。 代碼鏈接:UVA 10106 點

原创 UVA 10474 解題報告

題目意思: 簡單來說,就是在以升序排序後的 N 裏面找到每一個 Q的位置,按照規定格式輸出。 用 c++做的話思路就十分顯淺了,用 vector 即可。 代碼鏈接:UVA 10474 點贊 收藏 分享

原创 UVA 156 解題報告

題目意思: 找出出現次數僅一次的字符串。 用 C++的 map 也很方便解決這題。 注意點: 1. 輸出時候是大小寫敏感的。 2. 兩個字符串,只要所組成是一樣的就意味着是相等的字符串。哪怕順序不一樣或分別是大小寫。 代碼鏈

原创 UVA 644 解題報告

題目意思: 判斷 set 裏面是否有出現某個 code 是另一個 code 的前綴。 這題用 strncmp() 很好解決。 注意點: 1. 輸入的數據不會按照由小到大的。 代碼鏈接:UVA 644 點贊

原创 HDU 3342 解題報告

這是一題簡單的判斷有向圖是否有環。 參考《算法導論》22章裏用白、灰、黑三色標記結點的方法,在深搜的時候只要發現下一個結點是灰色的就說明有環。 代碼鏈接:HDU 3342 用 dfs 解題 還可以用拓撲做此題。 代碼鏈接:HD

原创 HDU Count 101 解題報告

題目意思: 找出所有不含有“101”子串的個數 這題可以用 DP。 用 DP[i]代表長度爲 i 時的不含有“101”子串的個數。 觀察可以發現,DP[i] = 2*DP[i-1] - 以“10”結尾的 DP[i-1]個數。

原创 UVA 400 解題報告

題目意思: 就是輸出 input 裏面的文件名。 文件名直接排序即可,沒難度。 這題難在輸出。要注意,ls 的輸出是怎麼樣。我就在這裏 wa 了好幾次,怎麼想要不明白,後面才發現我理解的輸出形式與 ls 的不一樣的。 ls

原创 UVA 10785 解題報告

題目意思: 按照命理家給出的規則起一個名字。 規則: 1. 名字所以的元音和輔音加起來的值要最小。 2. 元音在偶數位,輔音在奇數位。 3. 輔音元音輔音元音輔音元音這樣的形式。不得有連續二個或以上的元音或輔音。 4.

原创 UVA 10494 解題報告

題目意思: 模擬除法運算。 注意點: 1. 除數可以直接用 long long int 保存。 2. 用數組存儲商的話,要注意前導零的處理。和被除數小於除數的處理。 代碼鏈接:UVA 10494 點贊 收

原创 UVA 424 解題報告

題目意思: 就是數個大整數相加,然後輸出結果。 注意點: 1. 輸出需要加’\n’,不然會 WA。 2. 要注意前導零這些情況的處理。 3. 最左邊的進位也要注意處理。 代碼鏈接:UVA 424 點贊

原创 UVA 152 解題報告

題目意思: 簡單來說,就是求一棵樹的最鄰近的樹。然後與這課樹的距離是否在[0,10)之間,如果是就統計起來並輸出。 PS:是不是水題題目都那麼的繞。得看好一會兒才能明白意思,有些題目還得查查意思 - - 注意點: 1. 輸出