HooLee
If you believe, you can!
C++博客
首頁
新隨筆
新文章
聯(lián)系
管理
poj1088滑雪
題意:找出矩陣中的最長下降序列的長度。
解題思路:
1.回溯,時間復(fù)雜度,指數(shù)級別。這是一種很容易想到的做法,不過會超時。
2.動態(tài)規(guī)劃,時間復(fù)雜度O(N^2)。相信我們都學(xué)過一維的
最長上升子序列
問題,這一題是一維的變形,我們只需稍加轉(zhuǎn)換就可以轉(zhuǎn)換為一維的。
先來回想一下一維的最長上升子序列的做法:對一個給定的節(jié)點(diǎn)p,我們只需枚舉p前面的所有節(jié)點(diǎn)的最長上升子序列的長度,用p前面的節(jié)點(diǎn)的長度去試圖更新p的長度即可。
我們?nèi)绾螌⒈绢}轉(zhuǎn)化為一維的問題呢?我們只需將矩陣中的所有點(diǎn)按照他的high排序,然后按照一維的處理即可。只不過p前面的節(jié)點(diǎn)在更新p時還要考慮他們在矩陣中的相對位置,因?yàn)橹挥懈鷓相鄰的四個點(diǎn)才有可能去更新p點(diǎn)的長度。
代碼
1
import
java.io.
*
;
2
import
java.util.
*
;
3
class
Main
4
{
5
private
static
int
R, C;
6
private
static
MyNode[] nds
=
new
MyNode[
110
*
110
];
7
public
static
void
main(String[] args)
8
{
9
10
Scanner sc
=
new
Scanner(System.in);
11
R
=
sc.nextInt();
12
C
=
sc.nextInt();
13
int
count
=
0
;
14
for
(
int
i
=
0
; i
<
R; i
++
)
15
{
16
for
(
int
j
=
0
; j
<
C; j
++
)
17
{
18
int
h
=
sc.nextInt();
19
nds[count
++
]
=
new
MyNode(i, j, h);
20
}
21
}
22
Arrays.sort(nds,
0
, count);
23
//
/
24
//
for(int i = 0; i < count; i++)
25
//
System.out.println("::" + nds[i].getH());
26
//
27
int
lens[][]
=
new
int
[R][C];
28
for
(
int
i
=
0
; i
<
R; i
++
)
29
Arrays.fill(lens[i],
1
);
30
for
(
int
i
=
1
; i
<
count; i
++
)
31
{
32
for
(
int
j
=
0
; j
<
i; j
++
)
33
{
34
int
r2
=
nds[i].getR();
35
int
c2
=
nds[i].getC();
36
int
h2
=
nds[i].getH();
37
38
int
r1
=
nds[j].getR();
39
int
c1
=
nds[j].getC();
40
int
h1
=
nds[j].getH();
41
if
(Math.abs(r2
-
r1)
+
Math.abs(c1
-
c2)
==
1
&&
h2
>
h1
42
&&
lens[r2][c2]
<=
lens[r1][c1])
43
{
44
lens[r2][c2]
=
lens[r1][c1]
+
1
;
45
}
46
}
47
}
48
int
max
=
0
;
49
for
(
int
i
=
0
; i
<
R; i
++
)
50
{
51
for
(
int
j
=
0
; j
<
C; j
++
)
52
if
(lens[i][j]
>
max)
53
max
=
lens[i][j];
54
}
55
System.out.println(max);
56
}
57
58
}
59
class
MyNode
implements
Comparable
<
MyNode
>
60
{
61
private
int
r;
62
private
int
c;
63
private
int
h;
64
public
MyNode(
int
r,
int
c,
int
h)
65
{
66
this
.r
=
r;
67
this
.c
=
c;
68
this
.h
=
h;
69
}
70
public
int
getR()
71
{
72
return
r;
73
}
74
public
int
getC()
75
{
76
return
c;
77
}
78
public
int
getH()
79
{
80
return
h;
81
}
82
public
int
compareTo(MyNode n2)
83
{
84
return
h
-
n2.h;
85
}
86
}
posted on 2013-04-16 18:36
小鼠標(biāo)
閱讀(410)
評論(0)
編輯
收藏
引用
所屬分類:
Java基礎(chǔ)練習(xí)
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
編輯距離
閏年判斷
正則表達(dá)式簡單筆記
Excel格式地址轉(zhuǎn)換
一道模擬題——機(jī)器人行走距離計(jì)算
排列練習(xí)2
素?cái)?shù)篩法
排列組合練習(xí)
排列組合
poj1068Parencodings
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 小鼠標(biāo) Powered by:
博客園
模板提供:
滬江博客
<
2012年8月
>
日
一
二
三
四
五
六
29
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
31
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我參與的隨筆
隨筆分類
(111)
C語言(3)
DP(9)
Java筆記(1)
Java基礎(chǔ)練習(xí)(25)
安卓(1)
本科畢設(shè)(1)
博弈(1)
大數(shù)(7)
回溯(2)
排序(10)
暑期培訓(xùn)周賽(3)
數(shù)據(jù)結(jié)構(gòu)(7)
數(shù)論(1)
水題(8)
圖論(24)
網(wǎng)選訓(xùn)練(8)
隨筆檔案
(127)
2014年3月 (1)
2013年7月 (10)
2013年5月 (1)
2013年4月 (11)
2013年3月 (8)
2012年10月 (1)
2012年9月 (12)
2012年8月 (38)
2012年7月 (14)
2012年6月 (2)
2012年5月 (8)
2012年4月 (6)
2012年3月 (6)
2012年2月 (4)
2011年8月 (5)
friends
陳鋼
大鵬
黨姐
焦林楓
汪濤
小白學(xué)長
媛姐
媛姐csdn
最新評論
1.?re: 線段樹
是這個樣子的,所以在OJ有時候“卡住”了也不要太灰心,沒準(zhǔn)真的不是自己的原因呢。
加油,祝你好運(yùn)啦!
--小鼠標(biāo)
2.?re: 線段樹
對于編程競賽來說,Java所需時間一般為C/C++的兩倍。合理的競賽給Java的時間限制是給C/C++的兩倍。
--傷心的筆
3.?re: poj1273--網(wǎng)絡(luò)流
過來看看你。
--achiberx
4.?re: (轉(zhuǎn))ubuntu11.10無法啟動無線網(wǎng)絡(luò)的解決方法
膜拜大神。。查了一個下午資料終于在這里解決了問題。。神牛說的區(qū)域賽難道是ACM區(qū)域賽。。?
--Hang
5.?re: 快速排序、線性時間選擇
博主,謝謝你的文章。你的方法可以很好的處理分區(qū)基準(zhǔn)在數(shù)組中重復(fù)的情況,書上的方法遇到這種輸入會堆棧溢出。書上給出了解釋但給的方法貌似不簡潔。
--lsxqw2004
閱讀排行榜
1.?單調(diào)隊(duì)列(5505)
2.?Linux select()函數(shù)使用(4000)
3.?快速排序、線性時間選擇(3738)
4.?poj3468--絕對經(jīng)典的線段樹題(3655)
5.?優(yōu)先隊(duì)列--堆實(shí)現(xiàn)(3317)
久久综合九色综合欧美狠狠
|
久久国产精品一区
|
亚洲国产综合久久天堂
|
亚洲国产精品高清久久久
|
精品水蜜桃久久久久久久
|
久久综合亚洲鲁鲁五月天
|
久久国产亚洲高清观看
|
怡红院日本一道日本久久
|
午夜欧美精品久久久久久久
|
99久久免费国产精品热
|
久久久一本精品99久久精品88
|
999久久久免费国产精品播放
|
99久久伊人精品综合观看
|
日本精品久久久中文字幕
|
久久精品国产亚洲AV香蕉
|
久久精品日日躁夜夜躁欧美
|
久久精品嫩草影院
|
国产午夜电影久久
|
99久久国产综合精品五月天喷水
|
久久久综合香蕉尹人综合网
|
久久青青草原精品国产软件
|
久久久久亚洲AV无码专区网站
|
国产精品欧美久久久久无广告
|
久久国产福利免费
|
久久精品国产欧美日韩99热
|
一本一道久久综合狠狠老
|
精品多毛少妇人妻AV免费久久
|
segui久久国产精品
|
伊人久久大香线蕉AV色婷婷色
|
国产精品gz久久久
|
亚洲欧洲中文日韩久久AV乱码
|
中文字幕人妻色偷偷久久
|
91亚洲国产成人久久精品网址
|
中文国产成人精品久久亚洲精品AⅤ无码精品
|
久久精品中文字幕一区
|
精品国产乱码久久久久久郑州公司
|
久久夜色精品国产亚洲
|
成人久久精品一区二区三区
|
久久天天日天天操综合伊人av
|
亚洲αv久久久噜噜噜噜噜
|
久久99国产一区二区三区
|