掃描線-小Z的桌子
大概題意:在一個01矩陣中找到一個周長最大的全0矩形。
這道題用的是掃描線,O(n^2),求最大面積的思路完全可以放在這裏。下面說說思路。
首先,一個最大周長子矩形(最大周長全0矩形),左右兩側的列上一定至少有一個1,不然顯然這個矩形可以再往左/右擴展。
由於這個,我們聯想到找矩形兩邊的1。初始想法是先n方,預處理一個點上面有多少點,下面有多少點。枚舉出每一行的每一段連續的0,將這些每個點的up和down加起來減1,取min,這就是這個可能最大周長子矩形的最大可能高。答案即是高+寬乘2。
但是,這種做法有幾個小問題,以後做掃描線的題目時一定要註意:
1.初始想法中直接統計最小高的想法是錯的。例如:
4 5
XX.XX
XX.XX
X...X
X.X.X
顯然,應該分別統計minup和mindown。
2.兩個邊界上的1不一定在同一行,例如:
.
X.
.X
.
.
但是,我們一定可以保證它一定緊貼一邊的x,所以我們只需統計0序列的所有前綴即可。
這樣就沒有錯了
掃描線-小Z的桌子
相關推薦
掃描線-小Z的桌子
最大 桌子 處理 font 長子 初始 同一行 有一個 預處理 大概題意:在一個01矩陣中找到一個周長最大的全0矩形。 這道題用的是掃描線,O(n^2),求最大面積的思路完全可以放在這裏。下面說說思路。 首先,一個最大周長子矩形(最大周長全0矩形),左右兩側的列上一定至少有
【0521模擬賽】小Z愛數學
csu 復雜度 ace pan chan printf 排序 fine 個數 題目描述 小Z想求F(n,k),F(n,k)表示n的所有因數pi中,滿足n/pi <= k 的和。 小Z發現還是很水,所以他決定加大難度。 求 小Z還準備了很多個詢問。現在你來解決一下吧。
bzoj 2038 [2009國家集訓隊]小Z的襪子(hose) 莫隊算法
output efi inpu += -1 r++ http 題目中的 png 2038: [2009國家集訓隊]小Z的襪子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 10239 Solved: 4659
bzoj2038 [2009國家集訓隊]小Z的襪子(hose)
sed sca 技術 its 國家 type 國家集訓隊 lap typedef 傳送門:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 【題解】 莫隊出的裸莫隊。 # include <math.h>
[國家集訓隊2010]小Z的襪子
blog stdin n) 國家集訓隊 顏色 std sin 隨機 多個 ★★★ 輸入文件:hose.in 輸出文件:hose.out 簡單對比 時間限制:1 s 內存限制:512 MB 【題目描述】 作為一個生活散漫的人,小Z每
【BZOJ】2038: [2009國家集訓隊]小Z的襪子(hose)
detail log net 施工 pop href .net tails zoj 【算法】莫隊 【題解】 BZOJ 2038 2009國家集訓隊 小Z的襪子(hose) 莫隊算法 莫隊……講稿? 施工中……【BZOJ】2038: [2009國家集訓隊]小Z的襪子(hose
HYSBZ 2038 小Z的襪子(hose) (莫隊算法)
-- cst mes return out for logs 算法 1-1 題意:中文題。 析:很著名的莫隊算法,先把這個求概率的式子表達出來,應該是分子:C(x1, 2) + C(x2, 2) + C(x3, 2) + ... + C(xn, 2) 分母:C(n, 2)
bzoj2038: [2009國家集訓隊]小Z的襪子(hose)
space r+ update bsp pre size span 昨天 clu 拍了一早上結果是LL的問題。。。c,%%%rose大佬rp++ 昨天珂谷模擬賽,大佬們T2都帶修莫隊65,就我一個暴力40(要是這題+25就機房rank1了。。。)亡羊補牢一下。 化簡一下
[BZOJ2038]小Z的襪子
我們 出現 生活 ret iostream n-1 scanf col 是不是 作為一個生活散漫的人,小Z每天早上都要耗費很久從一堆五顏六色的襪子中找出一雙來穿。終於有一天,小Z再也無法忍受這惱人的找襪子過程,於是他決定聽天由命……具體來說,小Z把這N只襪子從1到N編號,然
洛谷—— P2117 小Z的矩陣
發現 左右 clas ora www. stdout register 上一個 規模 https://www.luogu.org/problemnew/show/2117 題目描述 小Z最近迷上了矩陣,他定義了一個對於一種特殊矩陣的特征函數G。對於N*N的矩陣A,A的所
BZOJ4031: [HEOI2015]小Z的房間
直接 col div ans tdi printf scan clas img n,m<=9,n*m的網格圖,相鄰的.可連邊,問把所有的.連成一棵樹有多少方案,%1e9。 直接矩陣樹,然而高斯消元時模數不是質數沒法直接除,所以利用行列式的性質,某一行乘某個數加到另一行
【BZOJ 4031】: [HEOI2015]小Z的房間
表示 con c++ def font clu rdquo 直接 als 題目大意: 給一個n×m的網格,“.”表示可聯通,求該網格可構成的生成樹個數在1E9的剩余系中的結果。(n,m<=9) 題解: 忘了刪註釋WA了
BZOJ 2038: [2009國家集訓隊]小Z的襪子(hose) | 莫隊
方案 name sort hose href www 數組 r+ con 題目: http://www.lydsy.com/JudgeOnline/problem.php?id=2038 題解: 開LongLong!!!! 按照莫隊的方法把詢問拍個序,然後搞cnt數組統計
小z的襪子
總數 href oid long long ring 算法 http cin 是不是 傳送門 題目描述 作為一個生活散漫的人,小Z每天早上都要耗費很久從一堆五顏六色的襪子中找出一雙來穿。終於有一天,小Z再也無法忍受這惱人的找襪子過程,於是他決定聽天由命…… 具體來說,小Z
BZOJ 2038 2009國家集訓隊 小Z的襪子【模板·莫隊】
com 技術 bsp 高效 題解 數量 div image 概率 【題解】 1,先說說莫隊算法。 莫隊算法是用來離線處理區間問題的算法。非常易於理解和使用,且運用十分廣泛。 假設我們現在已知區間[L,R]的答案,如果我們能以較低的時間復雜度擴展得到區間
BZOJ 2038 小Z的襪子
print n) amp 選擇 情況 包含 pan radi iostream 題目描述 作為一個生活散漫的人,小Z每天早上都要耗費很久從一堆五顏六色的襪子中找出一雙來穿。終於有一天,小Z再也無法忍受這惱人的找襪子過程,於是他決定聽天由命…&hellip
bzoj 4031: [HEOI2015]小Z的房間
div class 統計 esp 整數 ans swap data time 4031: [HEOI2015]小Z的房間 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1457 Solved: 736[Submit
2038: [2009國家集訓隊]小Z的襪子(hose)+莫隊入門
ret get void 復雜度 數字 sig c++ push_back mod 題目鏈接:2038: [2009國家集訓隊]小Z的襪子(hose) 題目: Description 作為一個生活散漫的人,小Z每天早上都要耗費很久從一堆五顏六色的襪子中找出一雙來穿
莫隊亂搞--BZOJ2038: [2009國家集訓隊]小Z的襪子(hose)
數字 ios efi return aps log mod class print $n \leq 50000$的$\leq 50000$的數字序列,$m \leq 50000$個詢問,每次問一個區間中隨機拿兩次(不放回)拿到相同數字的概率,以既約分數形式輸出。 莫隊入門。
【luogu P1494 [國家集訓隊]小Z的襪子】 題解
add namespace ref return -c str sort char stream 題目鏈接:https://www.luogu.org/problemnew/show/P1494 #include <cstdio> #include <al