原创 Charlie's Change POJ - 1787

題目傳送門 題意:給你四種硬幣,硬幣的面值分別爲1,5,10,25,每一種硬幣分別有C1,C2,C3,C4,問你能不能通過這些硬幣構成p元, (儘可能的多用硬幣)如果能的話輸出方案。 思路:完全揹包記錄一下路徑就好了。 #inc

原创 Password UVA - 1262

題目傳送門 題意;給你兩個6行5列的密碼矩陣,找出滿足下列條件的“密碼”:密碼中的每一個字母都在兩個矩陣的對應列中出現,求字典序第k大的的密碼,如果沒有輸出NO。 題意:直接暴力瞎搞一下就好了。 #include <algorit

原创 Send a Table UVA - 10820

題目傳送門 題意:給出n,算出小於等於n的所有數中,有幾對互質。 思路:我們用歐拉函數打個表就好了。 #include <algorithm> #include <cmath> #include <cstdio> #include

原创 Double Patience UVA - 1637

題目傳送門 題意:36張牌分成9堆,每堆4張牌,每一次可以拿走頂部兩個相同點數的牌,如果有多種方法則按照等概率的隨機拿,如果最後拿走了所有的牌則勝利,求勝利的概率。 思路;用一個九元組儲存狀態,進行記憶話搜索。 #include

原创 The Fewest Coins POJ - 3260

題目傳送門 題意:你去一個商店購買一個價值爲T的物品,市場上有n種流通的硬幣,面值分別爲V1,V2..Vn (1<=Vi<=120)。John有Ci個面值爲Vi的硬幣(0<=Ci<=10000)。店主有無限多的硬幣,並總按最優方案

原创 Advanced Fruits HDU - 1503

題目傳送門 題意:給你兩個字符串把這兩個字符串合併起來,公共子串只輸出一次。 思路:這個題目記錄一下路徑就可以了,一開始沒有看到是Special judge想了很久的輸出方案,如果是Special judge就直接標記了以後輸出就

原创 Prince and Princess UVA - 1063

題目傳送門 題意:求兩個序列的最長公共子序列。 思路:如果用最樸素的算法,顯然會超時,所以用LIS的方式對LCS進行一個優化使O(N^2)轉化爲O(N*logN)的時間複雜度的算法(這個實現要求兩個序列當中重複的元素比較少,這個題

原创 Codeforces Round #436 (Div. 2) 解題報告

比賽傳送門 A. Fair Game 題意:給你n個卡牌(n是偶數),每一個卡片上都有一個數字,有兩個人,這兩個人各選擇一個數字把所有帶有這個數字的卡片拿走,問兩個人能不能把所有的卡片拿走,且兩個人拿到的卡片數相同。 思路:這個

原创 越獄 BZOJ - 1008

題目傳送門 思路:這個題正着想不容易想,但是我們可以去想怎麼才能讓越獄不發生,也就是任何兩個相鄰的人的信仰都不相同,然後再用所有的情況減去這個情況就好了。 #include <algorithm> #include <cmath>

原创 密碼箱 BZOJ - 1406

題目傳送門 思路:x^2 mod n = 1 (x^2 - 1) mod n = 0 (x + 1)(x - 1) mod n = 0 我們假設n =

原创 最大數maxnumber BZOJ - 1012

題目傳送門 思路:就可以直接用線段樹來做,但是這個題用cin,cout就會re,好迷啊。 #include <algorithm> #include <cmath> #include <cstdio> #include <cstr

原创 Headshot UVA - 1636

題目傳送門 題意:你和人決鬥。決鬥規則如下:用一把有n個彈槽的左輪手槍,對着自己腦袋來一槍,孰生孰死看天意。現在對方已經裝了若干發子彈,並隨機轉了一下轉輪,子彈呢用一個01序列表示,0表示這個彈槽無子彈,1表示有子彈。對方先對着自

原创 反素數ant BZOJ - 1053

題目傳送門 思路:這個題本來應該是一個用上唯一分解定理的爆搜,但是我沒有想到一個好的放大就直接打了一個表來做的(以後補上爆搜的方法)。 #include <algorithm> #include <cmath> #include

原创 Space Elevator POJ - 2392

題目傳送門 題意:給你n種高塔,每一種高塔都有自己的高度,數量,以及這種高塔組稿不能超過的高度,問你能搭建成的最高的高度。 思路:按照高塔的限制高度進行一個排序,然後多重揹包就好了。 #include <algorithm> #i

原创 Theme Section HDU - 4763

題目傳送門 題意:給你一個字符串,你在這個字符串中間找一個最長的字串,可以和開頭和結尾相同。 思路:這個題還是比較暴力的,直接KMP和枚舉就可以了。 #include <algorithm> #include <cmath> #i