//題目意思:在乙個8*8的棋盤中要劃分成n塊,並且方差最小
//解題思路:用乙個5維的陣列來記錄狀態st[k][x1][y1][x2][y2],表示在第k次時從(x1,y1)到(x2,y2)的矩形切出的和的平方的和(就是已經分兩塊了,只是這個陣列沒表示從**切)。然後遞迴到前面一次,選擇兩個中的一塊繼續遞迴。
//0ms ac,**如下:
#include#include#includeusing namespace std;
#define min(a,b) ((a)<(b)) ? (a) : (b)
const int m =8;
int n;
int num[m+1][m+1]=;//記錄各個格仔的值
int sum[m+1][m+1]=;//記錄(0,0)到(x,y)矩形的和
int st[15][m+1][m+1][m+1][m+1];
int sumfun(int x1,int y1,int x2,int y2)//返回矩形和的平方
int dp(int k,int x1,int y1,int x2,int y2)
else
{ for(i=x1;i
poj 1191 棋盤分割(dp
題意 將乙個 的棋盤 每個單元正方形有個分值 沿直線 豎或橫 割掉一塊,留下一塊,對留下的這塊繼續這樣操作,總共進行n 1次,得到n塊 1 n 15 矩形,每個矩形的分值就是單元正方形的分值的和,問這n個矩形的最小均方差。此題中,均方差比較,等價於方差比較,等價於平方和比較。狀態 dp x1 y1 ...
poj1191 棋盤分割 (DP)
題目意思 在乙個8 8的棋盤中要劃分成n塊,並且方差最小 解題思路 用乙個5維的陣列來記錄狀態st k x1 y1 x2 y2 表示在第k次時從 x1,y1 到 x2,y2 的矩形切出的和的平方的和 就是已經分兩塊了,只是這個陣列沒表示從 切 然後遞迴到前面一次,選擇兩個中的一塊繼續遞迴。0ms a...
poj 1191 棋盤分割
棋盤分割 time limit 1000ms memory limit 10000k total submissions 10807 accepted 3798 description 將乙個 的棋盤進行如下分割 將原棋盤割下一塊矩形棋盤並使剩下部分也是矩形,再將剩下的部分繼續如此分割,這樣割了 n...