隨筆: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:
博客園
模板提供
:
滬江博客
97久久久久人妻精品专区
|
国产一区二区久久久
|
91视频国产91久久久
|
91久久精品无码一区二区毛片
|
中文字幕久久亚洲一区
|
中文国产成人精品久久不卡
|
99久久精品毛片免费播放
|
久久99精品久久久久久齐齐
|
亚洲精品乱码久久久久久中文字幕
|
久久91精品国产91久
|
久久精品国产久精国产思思
|
亚洲人成网站999久久久综合
|
久久午夜无码鲁丝片
|
色综合久久久久无码专区
|
国产99久久久久久免费看
|
国产69精品久久久久99
|
人妻精品久久无码区
|
99久久香蕉国产线看观香
|
91精品国产91热久久久久福利
|
亚洲中文字幕无码久久2017
|
伊人久久五月天
|
久久九九久精品国产免费直播
|
激情久久久久久久久久
|
国产婷婷成人久久Av免费高清
|
精品无码人妻久久久久久
|
国产精品久久久久9999高清
|
久久久久亚洲精品天堂
|
A级毛片无码久久精品免费
|
2019久久久高清456
|
久久久精品国产免大香伊
|
性欧美大战久久久久久久久
|
色综合久久88色综合天天
|
久久综合鬼色88久久精品综合自在自线噜噜
|
久久777国产线看观看精品
|
久久精品国产半推半就
|
久久久精品一区二区三区
|
丰满少妇人妻久久久久久4
|
狠狠精品久久久无码中文字幕
|
国产精品99久久久久久www
|
久久91精品国产91久久户
|
草草久久久无码国产专区
|