原创 poj 2241 疊方塊 基本動態規劃
題意:給定n種block,每種block有無限多個,每個block有x, y, z三個屬性 要求疊起來,使得在滿足下面的長和寬嚴格大於上面的,情況下,高度最高 解法: d[i] 表示 以第i個物品爲頂能達到的最大高度 轉移方程 d[i]
原创 poj 1384 完全揹包的最小值
題意: 有一個存錢罐,不砸碎它,稱重得到裏面硬幣的重量, 硬幣分爲面值和重量,給定重量和麪值,求達到該重量的最小面值 解法: 注意幾個問題:1.完全揹包的循環方向 2.注意要滿足恰好
原创 poj 2253 dijkstra模板的使用
需要對於模板進行修改 題意:給定N個點,求從1到2的所有路徑中最大邊長最小的解(最大值最小) 依據dijkstra單源最短路徑的貪心思想 d[i] 表示從源點s到i所滿足條件的值 那麼 d[i] = min { max(d[k], e(k
原创 poj 1018 選擇設備
從同的分組,每組“必須”選擇一個,使得總的最小帶寬 與 總費用的比值最大 一開始也沒想到怎麼DP法,但跟分組揹包問題很類似 分組揹包問題: 問題 有N件物品和一個容量爲V的揹包。第i件物品的費用是c[i],價值是w[i]。這些物品被劃分
原创 poj 2479 最大子序列和變形
題意,求序列中的兩個子序列(不相交)使得相加的和最大 第一步:計算以i結尾的最大子序列和,從左往右。計算以i開始的最大子序列,從右往左 第二步:在第一步的基礎上計算前0-i的最大子序列和O(n)掃描完成 第三步:枚舉分界點O(n)時間
原创 poj 2387 最短路徑 **dijkstra模板
真是一道神奇的題目,已經注意了重邊的問題,但是還是各種WA 後來不用優先隊列寫了dijkstra算法,AC了 然後又改用優先隊列寫,AC了。。好奇怪,爲什麼一開始各種WA呢??不明白 #include <iostream> #inclu
原创 poj 1860 2378 3259帶負邊最短路 ** bellman ford 模板
題意很明確了 採用FIFO的基本隊列進行bellman ford計算 #include <iostream> #include <vector> #include <map> #include <list> #include <set>
原创 poj 1125 股市的流言 改用dij方法 做
上一次用Floyd方法,這次採用dij方法做 更新ans的時候要連同人的小標一起,max函數用的時候要謹慎,WA了一次!! #include <iostream> #include <vector> #include <map> #in
原创 poj 2833 第k大(小)數字
這是一個很經典的問題 先採用數組存儲的方式(節省內存空間)來做,注意提交C++ 不能是G++ #include <iostream> #include <vector> #include <map> #include <list> #i
原创 poj 1050 最大子矩陣和
題意很明確了,給定矩陣求最大子矩陣使得和最大 基本方法:枚舉,枚舉x, y的上下邊界需要O(n^4)時間複雜度,計算矩陣和需要O(n^2)的複雜度,總共要O(n^6)無法承受 改進: 採用二維前綴和(類似一維),su
原创 poj 2299 求逆序對
經典題目: 給定一個序列,求其中的逆序對 在歸併排序(merge sort)的基礎上統計,時間複雜度O(nlogn) 注意使用long long #include <iostream> #include <vector> #includ
原创 poj 動態規劃題目列表
列表一:經典題目題號:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 1322, 1414, 1456, 14
原创 poj 1276 多重揹包問題
題意: 給出N種貨幣,每種貨幣有a[i]張, 對於給定的錢數X,求出貨幣可以拼出的最接近於並且小於等於X的數值 解法: 把錢的上限X看作體積,並且每種貨幣的面值既是揹包問題裏面的“體積”也是“價值” 相對於0-1揹包問題,該問題屬於多重
原创 poj 1163 三角形和
昨天的騰訊馬拉松複賽2013-03-31第三場做的不好,第一個簽到題跟這個題完全一樣的思路,也浪費了很多時間,哎。。。。 慢慢總結吧,多學習多積累 記憶化搜索的動態規劃,初始狀態在底部。。。 #include <iostream> #i
原创 uva 11995 猜測數據結構 入門與STL
題意: 給定輸入和輸出,猜測這是哪一種數據結構 指令1表示放入,2表示取出 #include <iostream> #include <vector> #include <map> #include <list> #include <s