單調(diào)棧/懸線法:2019銀川區(qū)域賽K

傳送門:https://nanti.jisuanke.com/t/42391

題目大意:給你兩個 n * m 的二維排列(1 ~ n * m)像捶。問你最大重合公共子矩陣底靠。

題目思路:

這種問極大子矩陣的題目有兩種方法求解:單調(diào)棧 / 懸線法

方法一:單調(diào)棧

1.關(guān)鍵:

求出每個點最遠(yuǎn)往上衍生多遠(yuǎn)的距離記為val.對于每一行谒臼,相當(dāng)于求解以這一行為底邊的最大柱狀圖面積舒萎。

2.思路:

對于每個點笼痹,正反跑一遍單調(diào)棧坞靶。求出往左最遠(yuǎn)能碰到的距離,往右最遠(yuǎn)能碰到的距離蹂安。(注意轉(zhuǎn)移的時候左邊界是如何衍生的,類似dp)

3.注意點:

這里需要注意連通性:單調(diào)棧中不僅每一列高度是遞增的椭迎,而且要是在原矩陣中列也是兩兩相鄰的。所以當(dāng)新增一列時需判斷連通性田盈。若不連通畜号,需要將棧清空再放入新的列.

方法二:懸線法(dp)? --??核心思想和 [方法一] 大同小異.

1.懸線:

對于每個點,他往上最多能走多少的線叫懸線允瞧。

2.原理:

極大矩陣的上邊界一定被某個障礙物限制著(否則答案可以更大)简软。那么假設(shè)這個障礙物在第i列蛮拔。那么第i列的極大矩陣的底邊那個點到障礙物就是一條懸線.

3.1 答案求解

求解出每個點的1.懸線長,2.以該點為底痹升,以懸線為高往左能夠衍生多長建炫,往右能衍生多長。答案面積就直接計算了疼蛾。

①懸線長height數(shù)組:對于每個點(i,j)踱卵,按(i - 1 , j)點轉(zhuǎn)移即可。

②左右衍生長度left ,right數(shù)組:

第一遍:按(i - 1 , j)/(i , j - 1)點轉(zhuǎn)移即可据过。

第二遍:對于那些height > 1 的點(i , j),它還需要考慮點(i - 1, j) 的? left 和 right 數(shù)組 對本行的限制妒挎。

3.2 過程要點

注意到:left,right數(shù)組再進行第一遍第二遍dp的時候概念是發(fā)生變化的绳锅。

第一遍時:left,right數(shù)組單純代表每個點往左/右邊最多能衍生多少

第二遍時:left,right數(shù)組代表以該點懸線為高往左/右邊最多能夠衍生多少

所以一定要先讓所有點左右衍生到盡頭,再考慮上一行對本行的限制.(也就是按順序來)

因為根據(jù)dp的含義: left數(shù)組只受左邊第一個障礙物酝掩,還有上一層的left的影響鳞芙。

如果left[i][j - 1] 提前算完兩步了。它的含義也變了期虾。那么在left[i][j]轉(zhuǎn)移的時候left[i][j - 1]將不能轉(zhuǎn)移原朝。



知乎講解:https://zhuanlan.zhihu.com/p/46382722

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市镶苞,隨后出現(xiàn)的幾起案子喳坠,更是在濱河造成了極大的恐慌,老刑警劉巖茂蚓,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壕鹉,死亡現(xiàn)場離奇詭異,居然都是意外死亡聋涨,警方通過查閱死者的電腦和手機晾浴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牍白,“玉大人脊凰,你說我怎么就攤上這事∶龋” “怎么了狸涌?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長础芍。 經(jīng)常有香客問我杈抢,道長,這世上最難降的妖魔是什么仑性? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任惶楼,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘歼捐。我一直安慰自己何陆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布豹储。 她就那樣靜靜地躺著贷盲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剥扣。 梳的紋絲不亂的頭發(fā)上巩剖,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音钠怯,去河邊找鬼佳魔。 笑死,一個胖子當(dāng)著我的面吹牛晦炊,可吹牛的內(nèi)容都是我干的鞠鲜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼断国,長吁一口氣:“原來是場噩夢啊……” “哼贤姆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起稳衬,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤霞捡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后薄疚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弄砍,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年输涕,在試婚紗的時候發(fā)現(xiàn)自己被綠了音婶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡莱坎,死狀恐怖衣式,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情檐什,我是刑警寧澤碴卧,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站乃正,受9級特大地震影響住册,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓮具,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一荧飞、第九天 我趴在偏房一處隱蔽的房頂上張望凡人。 院中可真熱鬧,春花似錦叹阔、人聲如沸挠轴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岸晦。三九已至,卻和暖如春睛藻,著一層夾襖步出監(jiān)牢的瞬間启上,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工店印, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碧绞,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓吱窝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迫靖。 傳聞我的和親對象是個殘疾皇子院峡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359