1057 ZJOI2007 棋盤製作

2022-05-12 09:48:11 字數 1930 閱讀 4051

西洋棋是世界上最古老的博弈遊戲之一,和中國的圍棋、象棋以及日本的將棋同享盛名。據說西洋棋起源

於易經的思想,棋盤是乙個8*8大小的黑白相間的方陣,對應八八六十四卦,黑白對應陰陽。而我們的主人公小q,

正是西洋棋的狂熱愛好者。作為乙個頂尖高手,他已不滿足於普通的棋盤與規則,於是他跟他的好朋友小w決定

將棋盤擴大以適應他們的新規則。小q找到了一張由n*m個正方形的格仔組成的矩形紙片,每個格仔被塗有黑白兩種

顏色之一。小q想在這種紙中裁減一部分作為新棋盤,當然,他希望這個棋盤盡可能的大。不過小q還沒有決定是找

乙個正方形的棋盤還是乙個矩形的棋盤(當然,不管哪種,棋盤必須都黑白相間,即相鄰的格仔不同色),所以他

希望可以找到最大的正方形棋盤面積和最大的矩形棋盤面積,從而決定哪個更好一些。於是小q找到了即將參加全

國資訊學競賽的你,你能幫助他麼?

第一行包含兩個整數n和m,分別表示矩形紙片的長和寬。接下來的n行包含乙個n * m的01矩陣,表示這張矩形

紙片的顏色(0表示白色,1表示黑色)。

包含兩行,每行包含乙個整數。第一行為可以找到的最大正方形棋盤的面積,第二行為可以找到的最大矩形棋

盤的面積(注意正方形和矩形是可以相交或者包含的)。

3 31 0 1

0 1 0

1 0 046

n, m ≤ 2000

懸線法。。。

懸線法的意思就是,如果我們要找乙個最大的子矩形,那麼一定這個最大子矩形一定是乙個極大子矩形。。。

然後我們思考極大子矩形有什麼特點,那就是它的四條邊不是靠著點,就是靠著邊界,否則它一定可以向外拓展,那麼這個矩形就不是乙個極大子矩形,

所以我們就可以利用這個性質,把每個邊界點向邊界拓展,就是一條條線,然後我們以這些線為基礎找子矩形就好了。。。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10 #include11 #include

12#define inf 1000000000

13#define maxn 2000+5

14#define maxm 2000+5

15#define eps 1e-10

16#define ll long long

17#define for0(i,n) for(int i=0;i<=(n);i++)

18#define for1(i,n) for(int i=1;i<=(n);i++)

19#define for2(i,x,y) for(int i=(x);i<=(y);i++)

20#define for3(i,x,y) for(int i=(x);i>=(y);i--)

21#define for4(i,x) for(int i=head[x],y=e[i].go;i;i=e[i].next,y=e[i].go)

22using

namespace

std;

23int

read()

26while(ch>='

0'&&ch<='9')

27return x*f;28}

29int

n,m;

30int

mp[maxn][maxn],h[maxn][maxn],l[maxn][maxn],r[maxn][maxn];

31int

ans1,ans2;

32int

main()

44for1(i,n)

50for(int j=m;j;j--)

55for1(j,m)61}

62 printf("

%d\n%d\n

",ans1,ans2);

63return0;

64 }

view code

1057 ZJOI2007 棋盤製作

題目鏈結 題目大意 求最大的黑白相間子矩陣 子正方形大小 題解 進行乙個非常巧妙的條件轉換 將i j為奇數的格仔顏色反轉,這樣就變成求黑色最大子矩陣和白色最大子矩陣取max了,最大子正方形顯然是最大子矩陣的一部分 當然不轉化也是隨便做的 逃 時間複雜度o mn 我的收穫 懸線法勁 include i...

1057 ZJOI2007 棋盤製作

time limit 20 sec memory limit 162 mb submit 3601 solved 1855 submit status discuss 西洋棋是世界上最古老的博弈遊戲之一,和中國的圍棋 象棋以及日本的將棋同享盛名。據說西洋棋起源 於易經的思想,棋盤是乙個8 8大小的黑...

BZOJ1057 ZJOI2007 棋盤製作

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