隨筆:78 文章:7 評(píng)論:38 引用:0
從零開(kāi)始
記錄成長(zhǎng)
C++博客
首頁(yè)
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
繼續(xù)動(dòng)規(guī)
pku 1050 最大子矩陣和
題目大意:
給定一個(gè)N*N的矩陣,求其中一個(gè)子矩陣所有元素的和最大,輸出最大值。
題解:
這道題很早就見(jiàn)過(guò)了,一直不會(huì)做,學(xué)了最大連續(xù)和,但是沒(méi)能成功遷移,看別人的解題報(bào)告也是很久才理解。
主要思想就是把二維的矩陣轉(zhuǎn)化成一位的數(shù)字串,然后求最大子串和。轉(zhuǎn)換的時(shí)候,為了保證最大子串構(gòu)成的是完整的矩形,所以串里的每一個(gè)元素都得是一列的和。枚舉子矩陣的起始行和高度,如從第i行開(kāi)始,到第j行結(jié)束,每一對(duì) i 和 j,對(duì)每一列(1~n)求和,然后求1~n串的最大子串和。
#include
<
stdio.h
>
#include
<
string
.h
>
const
int
N
=
110
;
int
g[N][N], f[N];
int
main()
{
int
n;
while
(scanf(
"
%d
"
,
&
n)
!=
EOF)
{
memset(f,
0
,
sizeof
(f));
for
(
int
i
=
1
; i
<=
n; i
++
)
for
(
int
j
=
1
; j
<=
n; j
++
)
scanf(
"
%d
"
,
&
g[i][j]);
int
mx
=-
100000000
;
for
(
int
i
=
1
; i
<=
n; i
++
)
for
(
int
j
=
i ; j
<=
n; j
++
)
{
memset(f,
0
,
sizeof
(f));
for
(
int
s
=
1
; s
<=
n; s
++
)
for
(
int
k
=
i; k
<=
j; k
++
)
f[s]
+=
g[k][s];
int
tmp
=
0
;
for
(
int
s
=
1
; s
<=
n; s
++
)
{
if
(tmp
>
0
)
tmp
+=
f[s];
else
tmp
=
f[s];
mx
=
mx
>
tmp
?
mx:tmp;
}
}
printf(
"
%d\n
"
,mx);
}
return
0
;
}
發(fā)表于 2010-09-03 22:58
未央
閱讀(216)
評(píng)論(0)
編輯
收藏
引用
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
CALENDER
<
2009年9月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(6)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆檔案
2020年11月 (1)
2020年1月 (1)
2018年11月 (1)
2018年9月 (2)
2017年10月 (1)
2017年9月 (1)
2017年7月 (1)
2015年1月 (1)
2014年11月 (2)
2014年3月 (1)
2014年2月 (1)
2014年1月 (1)
2013年6月 (1)
2013年5月 (2)
2013年4月 (1)
2013年3月 (3)
2012年11月 (1)
2012年7月 (1)
2012年6月 (1)
2012年2月 (2)
2011年12月 (1)
2011年11月 (2)
2011年8月 (1)
2011年7月 (2)
2011年6月 (3)
2011年4月 (1)
2011年3月 (6)
2011年2月 (3)
2011年1月 (2)
2010年12月 (2)
2010年11月 (4)
2010年9月 (3)
2010年5月 (1)
2010年2月 (2)
2009年10月 (2)
2009年9月 (5)
2009年8月 (6)
2009年7月 (3)
2008年7月 (3)
文章檔案
2012年2月 (1)
2008年7月 (6)
搜索
最新評(píng)論
1.?re: Palindrome Partitioning II - leetcode
我想問(wèn)一下為什么不能用dfs+一個(gè)記憶化數(shù)組判斷回文串來(lái)做呢?
--馮思峰
2.?re: Visual Studio 2008 OpenGL配置
感謝~
--無(wú)葉蓮
3.?re: 點(diǎn)集的最小圓覆蓋 zju 1450
我這運(yùn)行是正確的,如有錯(cuò)誤,請(qǐng)大家指出
--zzc
4.?re: 點(diǎn)集的最小圓覆蓋 zju 1450
@JimZ ,LZ的代碼沒(méi)錯(cuò)啊,若有錯(cuò)誤請(qǐng)說(shuō)明,在什么情況下會(huì)錯(cuò),要不就不要亂說(shuō)啊,那樣不負(fù)責(zé)任吧。
--aaa
5.?re: 0xC0000005: 寫入位置 0xcccccccc 時(shí)發(fā)生訪問(wèn)沖突
我剛解決掉,我是用的模板存儲(chǔ)的圖片,其中有一部分呢我不想改變,我就又復(fù)制了一份,在調(diào)試時(shí),這兩個(gè)就沖突了,我將那個(gè)復(fù)制的刪除掉就好了。
--wobuaishangdiao
閱讀排行榜
1.?Qt 打開(kāi)文件的默認(rèn)路徑 QFileDialog::getOpenFileName()(25844)
2.?Qt中將QString轉(zhuǎn)換為char *或者相反(13904)
3.?topcoder 賺錢(9226)
4.?OpenGL里關(guān)于鼠標(biāo)響應(yīng)的函數(shù)(9147)
5.?Visual Studio 2008 OpenGL配置(7581)
評(píng)論排行榜
1.?有根樹的同構(gòu) 和 無(wú)根樹的同構(gòu)(8)
2.?點(diǎn)集的最小圓覆蓋 zju 1450(5)
3.?愛(ài)與恨的記憶(3)
4.?c++ 讀取目錄下的文件名(2)
5.?取余(模)的性質(zhì)(2)
Powered By:
博客園
模板提供
:
滬江博客
国产亚州精品女人久久久久久
|
国内精品伊人久久久久影院对白
|
久久婷婷五月综合成人D啪
|
国产精品久久久亚洲
|
欧美一级久久久久久久大
|
婷婷久久综合
|
久久免费看黄a级毛片
|
99久久婷婷免费国产综合精品
|
国产美女久久久
|
99久久国产综合精品女同图片
|
国产精品久久国产精品99盘
|
亚洲国产精久久久久久久
|
亚洲午夜久久久久妓女影院
|
国产精品久久久久jk制服
|
国产一区二区三区久久
|
久久久中文字幕日本
|
国产精品美女久久久久AV福利
|
精品伊人久久久
|
久久久高清免费视频
|
乱亲女H秽乱长久久久
|
奇米影视7777久久精品人人爽
|
久久久精品久久久久久
|
久久影院久久香蕉国产线看观看
|
一本色道久久综合亚洲精品
|
久久精品国产亚洲欧美
|
国产精品99久久久久久董美香
|
香蕉久久夜色精品国产小说
|
欧美一区二区久久精品
|
日本久久久久久久久久
|
国产亚洲精午夜久久久久久
|
久久亚洲中文字幕精品一区
|
国产精品久久久亚洲
|
99久久精品费精品国产一区二区
|
熟妇人妻久久中文字幕
|
精品久久国产一区二区三区香蕉
|
色综合久久最新中文字幕
|
精品国产日韩久久亚洲
|
久久91这里精品国产2020
|
99久久夜色精品国产网站
|
国产精品亚洲美女久久久
|
成人亚洲欧美久久久久
|