原创 HDU 4283 You Are the One(區間dp)
//區間dp的用法真是靈活 //這個題 想了很長時間 還是錯了 //下面的思路是參照大牛ZeroClock的 // 思路: 棧有一個重要的性質就是
原创 hdu 2606 Renovation Problem hdu 2606
//看了冰學長的思路才明白 // 當n>=3時可以全部由2x2的方磚鑲嵌得到 //eg: // 用 [**] 表示 // [**]
原创 區間DP
區間dp總結篇 前言:這兩天沒有寫什麼題目,把前兩週做的有些意思的揹包題和最長遞增、公共子序列寫了個總結。反過去寫總結,總能讓自己有一番收穫......就區間dp來說,一開始我完全不明白它是怎麼應用的,甚至於看解題報告都看不明白
原创 Fzu 2113 Jason的特殊愛好 (數位dp)
題目鏈接 :點擊打開鏈接 #include<stdio.h> #include<string.h> __int64 dp[20][20];//dp[i][j]表示第i位前有j個1這種狀態1的總數 int num[20];//存每位數字 _
原创 ZOJ Problem Set - 3469(區間dp)
//首先聲明 本題思路代碼都是抄襲大牛ZeroClock的 //思路: 例如 1 2 X 4 5 // 那麼要給1 送飯必須先經過2 就是說必須先
原创 hdu 1401(深搜)
//四個點一起搜 //標記四個狀態 用八維數組標記 //每搜一個狀態需要標記24種狀態 #include<stdio.h> #include<str
原创 hdu 1520 Anniversary party(樹形dp)
//樹形dp入門第一題 // 題意: 給一棵樹每個節點都有權值 子節點和父節點不能同時取 問能取得權值之和最大是多少 看似有向邊其實爲無向邊 // //從任意一個節點x dfs到葉節點 並計算葉節點的值 然後邊回溯邊dp 求當前節點的最
原创 ACM的你傷不起!!!
勞資六年前開始搞ACM啊!!!!!!!!!! 從此踏上了尼瑪不歸路啊!!!!!!!!!!!! 誰特麼跟勞資講算法是程序設計的核心啊!!!!!! 尼瑪除了面試題就沒見過用算法的地方啊!!!!!! 誰再跟勞資講算法之美算法的力量,勞
原创 hdu 2686 Matrix (多線程dp)
//多線程dp 看起來就是記憶化搜索 //兩條路一起來個dfs() //dp[x1][y1][x2][y2] 記錄兩個點的座標 #include
原创 poj 1651(區間dp)
//很簡單的區間dp //dp現在還不紮實 看了別人的思路才寫出來的 //思路: dp[i][j]表示i到j區間以最優方式取出中間的值後所得的最小值
原创 poj 1948(揹包)
//思路是看大神的 //把三角型的一邊當成一維費用 另一邊當做另一維費用 //第三邊可以通過sum-第一邊-第二邊得到 //每一根棒子作爲一個物品
原创 hdu 3555(數位dp)
//數位dp很有用要好好掌握 #include<stdio.h> #include<string.h> __int64 dp[30][10][k];//dp[i][j][2]表示i位首位爲j(k==1 表示包含49 k=0 表示不包含4
原创 366C - Dima and Salad(0-1 揹包)
//0-1揹包 比賽的時候想到c[i]=a[i]-b[i]*k的轉化了 但是沒想到用DP //轉化後就是一列數c[] 取其中的任意幾個 讓它們的和
原创 149D - Coloring Brackets(區間DP 記憶化搜索)
題意: 要求你對一個合法的括號序列進行染色,並且需要滿足以下條件 1、要麼不染色,要麼染紅色或者藍色 2、對於任何一對括號,他們當中有且僅有一個被染色 3、相鄰的括號不能染相同的顏色 //區間DP 記憶化搜索 //雖然沒做過記憶化搜索的題
原创 USTC 1276(矩陣dp 二維化一維)
//自己想出來的方法 隊友說是矩陣dp 那就這樣叫吧 //思路: 選一個寬度 和起始列對應的下標 取出對應的區域 求出取出區域內 的子矩陣的最大和