隨手一寫就衝進了最優解的第一頁?
本來以為是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,正是西洋棋的狂熱愛好者。作為乙個頂尖高手,他已不滿足於普通的棋盤與規則,於是他跟他的好...