P1169 ZJOI2007 棋盤製作

2022-05-28 03:51:12 字數 941 閱讀 9768

隨手一寫就衝進了最優解的第一頁?

本來以為是dp, 但是經過仔細分析...這不就是二進位制 + 單調棧麼?

然後想正方形的情況...emm..好像正方形一定是最大矩形的子矩陣吧!

聽說此題dp也可行?

#include #include 

#include

#include

#include

using

namespace

std;

typedef pair

p;const

int maxn = 2e3 + 20

;const

int inf = 0x3f3f3f3f

;inline

intread()

intn, m;

int sum[2

][maxn];

bool map[2

][maxn];

p ans(

1, 1

);struct

sta

void pushin(int

h)

int len = 0, hei =inf;

while(!sta.empty() && sta.top().first >h)

sta.push(p(h, len + 1

));

return

; }

}s;int

main()

for(int j = 1; j <= m; j++)

s.init();

}cout

cout

return0;

}

P1169 ZJOI2007 棋盤製作 貪心

乙個矩陣中求乙個最大的子矩陣和子正方形使得它們其中都是01交錯。l ef ti,j left lefti,j 表示 i,j i,j i,j 往左擴充套件多遠,rig hti,jright righti j 表示 i,j i,j i,j 往右擴充套件多遠,upi j up up i,j 表示 i,j ...

題解 P1169 ZJOI2007 棋盤製作

依然是懸線法,不過要注意這裡棋盤向外擴張的時候需要滿足條件 g i j g i 1 j 0g i j oplus g i 1 j 0 g i j g i 1 j 0最大正方形可以由過程中求出的每乙個極大棋盤得到。include include using namespace std const in...

洛谷 P1169 ZJOI2007 棋盤製作

西洋棋是世界上最古老的博弈遊戲之一,和中國的圍棋 象棋以及日本的將棋同享盛名。據說西洋棋起源於易經的思想,棋盤是乙個8 times 88 8大小的黑白相間的方陣,對應八八六十四卦,黑白對應陰陽。而我們的主人公小q,正是西洋棋的狂熱愛好者。作為乙個頂尖高手,他已不滿足於普通的棋盤與規則,於是他跟他的好...