BZOJ 3039: 玉蟾宮( 懸線法 )

?最大子矩陣...懸線法..時間復雜度O(nm)

懸線法就是記錄一個H向上延伸的最大長度(懸線), L, R向左向右延伸的最大長度, 然后通過遞推來得到.?

------------------------------------------------------------------

#include<bits/stdc++.h>
using namespace std;
#define ok(c) ((c) == 'F' || (c) == 'R')
const int maxn = 1009;
int H[maxn][maxn], L[maxn][maxn], R[maxn][maxn], N, M;
bool F[maxn][maxn];
void Read() {
cin >> N >> M;
for(int i = 0; i < N; i++)
? ?for(int j = 0; j < M; j++) {
char c = getchar();
for(; !ok(c); c = getchar());
F[i][j] = c == 'F';
? ?}
}
int main() {
Read();
for(int i = 0; i < N; i++) {
L[i][0] = F[i][0];
for(int j = 1; j < M; j++)
? ?L[i][j] = F[i][j] ? L[i][j - 1] + 1 : 0;
R[i][M - 1] = F[i][M - 1];
for(int j = M - 2; ~j; j--)
? ?R[i][j] = F[i][j] ? R[i][j + 1] + 1 : 0;
}
memset(H, 0, sizeof H);
for(int i = 1; i < N; i++)
for(int j = 0; j < M; j++) if(F[i][j] && F[i - 1][j]) {
? ?H[i][j] = H[i - 1][j] + 1;
? ?L[i][j] = min(L[i][j], L[i - 1][j]);
? ?R[i][j] = min(R[i][j], R[i - 1][j]);
}
int ans = 0;
for(int i = 0; i < N; i++)
? ?for(int j = 0; j < M; j++) if(F[i][j])
? ? ? ?ans = max(ans, (H[i][j] + 1) * (L[i][j] + R[i][j] - 1));
cout << 3 * ans << "\n";
return 0;
}

------------------------------------------------------------------?

3039: 玉蟾宮

Time Limit:?2 Sec??Memory Limit:?128 MB
Submit:?581??Solved:?352
[Submit][Status][Discuss]

Description

有一天,小貓rainbow和freda來到了湘西張家界的天門山玉蟾宮,玉蟾宮宮主藍兔盛情地款待了它們,并賜予它們一片土地。
這片土地被分成N*M個格子,每個格子里寫著'R'或者'F',R代表這塊土地被賜予了rainbow,F代表這塊土地被賜予了freda。
現在freda要在這里賣萌。。。它要找一塊矩形土地,要求這片土地都標著'F'并且面積最大。
但是rainbow和freda的OI水平都弱爆了,找不出這塊土地,而藍兔也想看freda賣萌(她顯然是不會編程的……),所以它們決定,如果你找到的土地面積為S,它們每人給你S兩銀子。


Input

第一行兩個整數N,M,表示矩形土地有N行M列。
接下來N行,每行M個用空格隔開的字符'F'或'R',描述了矩形土地。

Output

輸出一個整數,表示你能得到多少銀子,即(3*最大'F'矩形土地面積)的值。

Sample Input

5 6
R F F F F F
F F F F F F
R R R F F F
F F F F F F
F F F F F F

Sample Output

45

HINT



對于50%的數據,1<=N,M<=200

對于100%的數據,1<=N,M<=1000

Source

Poetize4

?

轉載于:https://www.cnblogs.com/JSZX11556/p/4715241.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256896.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256896.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256896.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習筆記(37):Python實戰編程-yield實現生成器

立即學習:https://edu.csdn.net/course/play/19711/255579?utm_sourceblogtoedu1.yield return generator yield是一個返回的是一個生成器對象&#xff0c;是通過next函數一次一次地進行函數地迭代來獲取結果的&#xff0c;而return函數則是將結果返回后&#xff0c;不再與…

ie6、7 下input的邊框問題 ?

input的border設置為none,ie8及以上border都兼容&#xff0c;ie6和7的border還繼續存在&#xff0c;將border設為0時所有瀏覽器上都不存在了&#xff0c;但是border為0時還是會繼續的渲染。 將input的border設為"0 none",ie7及以上都正常了&#xff0c;但是ie6上inpu…

Mocha BSM產品亮點——關聯事件分析

業務需求與挑戰企業經常會遇到下列場景&#xff1a;? 企業某應用&#xff0c;例如&#xff0c;WebSphere Portal Server&#xff0c;已經不可用&#xff0c;是由于應用自身已不可用&#xff1f;還是應用所連接的數據庫出了問題&#xff1f;還是應用的LDAP服務不可用&#xff1…

輕量級文本編輯器,Notepad最佳替代品:Notepad++

目錄 正文之前1. 目的2. 原帖3. 為何推薦Notepad3.1. Notepad的一些基本特點3.2. notepad&#xff0c;notepad2&#xff0c;notepad&#xff0c;ultraEdit比較4. 使用Notepad前要了解的知識4.1. Notepad的名稱和縮寫4.2. Notepad修改設置后&#xff0c;立即生效4.3. Notepad的版…

學習筆記(38):Python實戰編程-窗體顯示

立即學習:https://edu.csdn.net/course/play/19711/343100?utm_sourceblogtoedu GUI&#xff1a;圖形用戶接口——GUI組件&#xff0c;組件定義&#xff0c;組件布局管理 主體窗口的設置&#xff1a; import tkinter#導入創建窗體的相關模塊class Mainwindow():#創建窗口類de…

Tomcat 配置和spring-framework MVC配置簡介

Tomcat啟動時&#xff0c;先找系統變量CATALINA_BASE&#xff0c;如果沒有&#xff0c;則找CATALINA_HOME。然后找這個變量所指的目錄下的conf文件夾&#xff0c;從中讀取配置文件。最重要的配置文件&#xff1a;server.xml 。要配置tomcat&#xff0c;基本上了解server.xml&am…

SDL 庫 無法解析的外部符號 __imp__fprintf

VS2015 在鏈接器-》命令行 里加入legacy_stdio_definitions.lib 另外一個常見錯誤關于stderr的用 extern "C" { FILE __iob_func[3] { *stdin,*stdout,*stderr }; }轉載于:https://www.cnblogs.com/zhaogaojian/p/5646885.html

ultra edit ftp帳號管理導入導出方法

在更換電腦或ultra edit新安裝時往往需要將原來使用的ftp帳號導入過來&#xff0c;可以在高級-備份/恢復用戶定制-選中其他保存備份&#xff0c;拷貝出來然后再導入。 也可以在配置-ftp/sftp中保存&#xff0c;拷貝出來然后在安裝好后配置。 步驟1. 導出ftp帳號信息&#xff1a…

學習筆記(39):Python實戰編程-標簽

立即學習:https://edu.csdn.net/course/play/19711/343101?utm_sourceblogtoedu 標簽——文字標簽和圖片標簽 1.文字標簽 關鍵代碼&#xff1a; label_text tkinter.Label(root,text linlianqin.com, width "20",height "10",font (楷體,20),bg #1…

散列沖突與作為特征值的散列

緣起 寫這篇文章&#xff0c;源于這么一個問題&#xff1a;假設目前有一千萬個URL訪問記錄&#xff0c;請統計最熱門的10個查詢串。(見此文)。見到這個問題的第一想法使用hash解決&#xff0c;沒考慮hash沖突解決的問題(其實就沒想比較URL&#xff0c;不比較URL無法判斷沖突與否…

C++:getenv setenv -- 獲取設置系統環境變量

C&#xff1a;getenv & setenv -- 獲取&設置系統環境變量 1. getenv&#xff1a;取得環境變量內容 頭文件- #include<stdlib.h> 格式&#xff1a; char * getenv(const char *name); 意義&#xff1a; getenv()用來取得參數name環境變量的內容。 param name為環…

CSS單位和值

顏色值 在網頁中的顏色設置是非常重要&#xff0c;有字體顏色&#xff08;color&#xff09;、背景顏色&#xff08;background-color&#xff09;、邊框顏色&#xff08;border&#xff09;等&#xff0c;設置顏色的方法也有很多種&#xff1a; 1、英文命令顏色 前面幾個小節中…

學習筆記(40):Python實戰編程-文本

立即學習:https://edu.csdn.net/course/play/19711/343102?utm_sourceblogtoedu 文本——人機交互&#xff0c;文本輸入的地方&#xff08;tkinter.Text&#xff08;“需要顯示的文本”&#xff0c;屬性的設置&#xff09;組件類&#xff09; 知識點&#xff1a; 文本輸入 文…

嵌入式linux的調試技術

本章介紹了嵌入式linux的調試技術&#xff0c;例如&#xff0c;設置斷點、逐步跟蹤代碼、輸出調試信息等。 Printk函數用于打印內核調試信息&#xff0c;運行在內核空間&#xff0c;printf函數運行在用戶空間。Printk文件是一個簡單的有4個數字組成的文本文件。 雖然使用Printk…

constexpr的好處

constexpr的好處&#xff1a; 是一種很強的約束&#xff0c;更好地保證程序的正確語義不被破壞。編譯器可以在編譯期對constexpr的代碼進行非常大的優化&#xff0c;比如將用到的constexpr表達式都直接替換成最終結果等。相比宏來說&#xff0c;沒有額外的開銷&#xff0c;但更…

PHP中include()與require()的區別說明

123456789101112131415161718192021222324252627require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程序的最前面&#xff0c;PHP 程序在執行前&#xff0c;就會先讀入 require 所指定引入的文件&#xff0c;使它變成 PHP 程序網頁的一部份…

電腦重裝系統重裝不了,老是藍屏,是不是硬盤燒壞了!

藍屏代碼是什么啊裝不了有時候是內存的問題以下內容為百度知道Ctangel個人總結&#xff0c;并非網絡復制&#xff0c;全是個人日常工作中遇到并且明確確定原因的。如需復制請注明出處。這里列舉幾個典型的藍屏故障的原因和解決辦法。一、0X0000000A 這個藍屏代碼和硬件無關&…

學習筆記(41):Python實戰編程-按鈕

立即學習:https://edu.csdn.net/course/play/19711/343103?utm_sourceblogtoedu 按鈕——用于指令的提交作用&#xff0c;如將文本中輸入的信息進行提交等 button tkinter.Button(root,text linlianqin,image photo,compound bottom) 創建了一個圖片按鈕&#xff0c;并且…

第八章讀后感

一&#xff0e;Linux驅動的代碼重用有很多的方法&#xff0c;可以采用標準的C程序的方法將要重用的代碼放在其他的文件&#xff08;在頭文件中聲明&#xff09;中。如果要使用某些功能&#xff0c;include相應的頭文件即可&#xff0c;也可以是另外一種動態重用的方式&#xff…

linux系統基礎優化小結

不用root&#xff0c; 添加普通用戶&#xff0c;通過sudo授權管理 更改默認的遠程ssh服務端口及禁止root用戶遠程登陸 定時自動更新服務器時間 ntpdate 配置yum更新源&#xff0c;從國內更新源下載安裝軟件&#xff0c;如啊里云&#xff0c;163等.http://mirrors.aliyun.com…