原创 poj-1276 Cash Machine 多重揹包

        題意:我們需要去取款機取錢,而取款機內錢的種類和數量是有限的,最後要求出我們最多能取到多少錢。         思路:很明顯的多重揹包問題。對於這個題最普通的01揹包限制次數的寫法是一定會超時的,所以我們需要去優化,兩個優

原创 poj-1260 Pearls

題意:給出幾類珍珠,以及它們的單價,要求用最少的錢就可以買到相同數量的,相同(或更高)質量的珍珠。 例如樣例Input的第二個例子: 3 1 10 1 11 100 12 需要買第一類1個,第二類1個,第三類100個 按常規支付爲 (1

原创 poj-1426 Find The Multiple

Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representat

原创 優先隊列多級排序

#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <queue> #define LL long long usi

原创 [周賽] FZU 2177

Description Ytaaa作爲一名特工執行了無數困難的任務,這一次ytaaa收到命令,需要炸燬敵人的一個工廠,爲此ytaaa需要製造一批炸彈以供使用。 Ytaaa使用的這種新型炸彈由若干個炸藥組成,每個炸藥都有它的威力值,而炸彈

原创 poj-2411 Mondriaan's Dream (狀態壓縮dp)

題意:給你一個h*w的矩陣,讓你使用一個1*2的板子把矩陣覆蓋完全,不能重疊且不能有空缺,問有多少種覆蓋方法。 思路:首先我們可以知道木板的擺放有3種方法,橫着放,豎着放,不放。     我們設定橫着放佔兩格狀態爲11,不放佔一格爲0,豎

原创 BC - King's Order - 數位DP

題意:給你一個字符串的長度n在這個n長的字符串裏不能出現連續超過3次的的字符。問符合該條件的字符串有幾個。 思路: 一個比較暴力的dp方法: 開一個三維dp數組dp[串長度][添加字符前的最後一個字符][最後一個字符重複數] 這樣我們對於

原创 poj-1364 King

題意:各種背景就不解釋了,直接描述問題,給你一個序列a1~an從中取出一個子序列a[si]~a[si+ni](題目打印的有點容易歧義)對每一個子序列求和然後給定一個約束,約束分爲兩種"gt"表示a[si]+a[si+1]+。。+a[si+

原创 poj-1905 Expanding Rods (二分)

題意:一個板子加在兩個牆之間,如果加熱它,那麼它就會向上彎曲,並且給出彎曲後長度的變化公式 L'=(1+n*C)*L。求變化後板子的最高處離原位置多高。 思路:普通幾何題,各種做輔助線,之後設升高度爲h通過h,l,r三者勾股定理得到一個

原创 poj-3112 Pie

題意:某人過生日,他的朋友來他家參加party並且每人都拿來一塊pie,現在需要把pie都分開讓每個人都能享用,並且一定保證完整性,爲了能公平的分給每個人,就算浪費也可以。問最多每個人可以得到多少體積的pie 思路:由於需要求圓柱體積所以

原创 某不知名的題 - 概率DP

兩名玩家進行對戰,P1擁有N點血量,P2用有M點血量。 兩人均有一定概率可以打出1-6點上海,每次兩名玩家進行對戰的時候,傷害高的一方可以打掉傷害低的一方一點血量。 已知N,M以及兩名玩家的攻擊力概率。求P1是勝利的概率。 輸入 多組輸入

原创 poj 3321 Apple Tree

題意:一顆蘋果樹,樹上有n個樹枝節點,一個節點有一個蘋果,有n-1個樹枝。模型是即n個點n-1條邊的樹,叉數不定。對這棵樹可進行兩種操作,其中Q x是詢問第x節點上子樹的蘋果個數,C x是如果x節點上有蘋果,就會被拿掉,如果沒有,樹就會長

原创 poj-3254 Corn Fields 狀態壓縮dp

題意:一農民有一片N*M的地,地裏的土地有的肥沃有的不肥沃,0表示不肥沃,1相反。農民需要往這片地裏放養牛,一隻牛只能在一塊1*1的地裏且只在肥沃的地裏。牛的數量不限,問這片地裏能有多少种放牛的情況。 思路:首先能確定這是一道dp題,爲了

原创 poj-3007 Organize Your Train part II

題意很好理解,看圖都能懂,就不解釋了。關鍵就在於訓練計劃上的分類,神馬標準模板庫的應用都是騙人的,不過小用一點也是能過的,不過時間就是800,900的。總之一點也不用c++庫函數就穩穩的對。本人是用的c的一些字符串函數,然後字典樹來哈希。

原创 poj-1185 炮兵陣地

中文題意不解釋,由於一行最多10位也就是一行中所有狀態只有1000+,並且根據題目描述每一個炮的周圍左右兩位是不能放第二個的,所以我們可以再縮小狀態數量,最後大約60+。炮的上下也是不能放第二個炮的所以我們可以知道,當前的狀態會與之前兩個