原创 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 那就這樣叫吧 //思路: 選一個寬度 和起始列對應的下標 取出對應的區域 求出取出區域內 的子矩陣的最大和