題意:三種木棍,分別有 r對 g對 b對兩種不同木棍對可以弄移乙個矩形,要求矩形面積總和最大
思路:看題面,這種幾個變數互相影響並且最終目標固定的題目感覺就要用dp,而且資料比較小應該就是能用三維dp,雖然我比賽時沒做出來,但是我想的挺明白的,狀態轉移就是dp[i][j][k]=max( dp[i-1][j-1][k]+r[i]*g[i],dp[i][j][k] )---------------------另外兩個同理,每次選乙個矩形
#includeusing namespace std;
#pragma gcc optimize(2)
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
const int n=205;
ll r,g,b;
ll r[n],g[n],b[n];
ll dp[n][n][n];
int main()}}
cout
}
Prince and Princess 動態規劃
題目大意 求兩個序列的最長子序列 include include include includeusing namespace std int n,p,q const int maxn 250 250 int num1 maxn int hash maxn stack maxn int main i...
hdu1513 Palindrome 動態規劃
求讓乙個字串變為回文串所需最少插入字元數 定義狀態dp i j 表示從左到右i個字元,從右到左j個字元,要讓他們回文需要插入多少字元 顯然,a i a j 時,dp i j d p i 1 j 1 a i a j 時,就需要插入乙個字元,因此dp i j m in d p i 1 j dp i j ...
poj2479 Maximum sum(動態規劃)
題意 在乙個序列中尋找兩個連續子串行,並且他們的和最大。思路 定義兩個陣列。第乙個陣列從前往後記錄前i 1 i 個元素中最大連續子串行,第二個陣列從後往前記錄前i i n 個元素中最大子串行和。如下 include include include include define max 0x3f3f3...