风一样消逝的青春
C++博客
首页
新随笔
聚合
管理
随笔-38 评论-23 文章-0 trackbacks-0
pku 1631 DP(四)+二分查找
简单的概括下 这题的意思就是求一个最长上升子序列.由于number的数很多.用普通的n^2的DP求最长上升子序列肯定会超时。。故采用二分查找的方法。
#include
<
iostream
>
using
namespace
std;
int
num[
40001
],dp[
40001
],n;
int
DP()
{
int
len
=
1
,left,right,mid;
dp[
0
]
=
num[
0
];
for
(
int
i
=
1
;i
<
n;i
++
)
{
right
=
len
-
1
,left
=
0
;
while
(left
<=
right)
{
mid
=
(left
+
right)
/
2
;
if
(num[i]
<=
dp[mid])
right
=
mid
-
1
;
else
left
=
mid
+
1
;
}
dp[left]
=
num[i];
if
(left
==
len) len
++
;
}
cout
<<
len
<<
endl;
return
len;
}
int
main()
{
int
T;
cin
>>
T;
while
(T
--&&
cin
>>
n)
{
for
(
int
i
=
0
;i
<
n;i
++
)
cin
>>
num[i];
int
len
=
DP();
}
return
0
;
}
posted on 2009-04-01 13:14
米游
阅读(309)
评论(0)
编辑
收藏
引用
所属分类:
ACM
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
有道难题...
zoj 3211 Dream City
09.5.23 退役感言
RMQ ST算法 (区间最大(最小)值问题)
使用后缀数组 解决zoj 3199 Longest Repeated Substring
线段树求矩形覆盖的周长 pku 1177
hdu 2816 即老菜鸟杯的1008题目
hdu 2813 即 老菜鸟杯 1005题
hdu 2812 即老菜鸟杯 1004
hdu 2811 即老菜鸟杯 1003
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2009年4月
>
日
一
二
三
四
五
六
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
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
ACM(18)
C/C++(2)
OpenGL/OSG(19)
随笔档案
2009年9月 (2)
2009年8月 (9)
2009年7月 (10)
2009年5月 (11)
2009年4月 (4)
2009年3月 (2)
ACM大牛
alpc12's blog
cmykrgb123
sha崽
极光炫影
计算机图形学
NEHE OPENGL
OpenGL
OPENGL部分资料
OSG
虚拟现实中国社区
搜索
最新评论
1. re: OSG 碰撞检测之多面体求交器代码解读(PloytopeIntersector)
你好,能不能分享一下你写的这个碰撞检测,多面体求交的源码呀?我最近在写这个碰撞检测的代码上碰到好多问题,希望能参考一下你的代码,不胜感激!(我的邮箱:313741269@qq.com)
--卢江
2. re: opengl 使用bmp位图纹理(8-bit 24bit)
强大
--307252614
3. re: OSG学习 Drawable 与 几何体创建[未登录]
评论内容较长,点击标题查看
--米游
4. re: OSG学习 Drawable 与 几何体创建[未登录]
osg::Box* boxtest = new osg::Box(osg::Vec3(1.5,0.0,0.0),1.0);
是如何决定立方体的方向???
--zero
5. re: pku 1191 棋盘分割 (DP)(三)
评论内容较长,点击标题查看
--米游
阅读排行榜
1. OpenGL 渲染管线理论(8820)
2. OSG 碰撞检测之多面体求交器代码解读(PloytopeIntersector)(7331)
3. OSG 学习<4> MatrixTransform 与 PosiotionAttitudeTransform(6744)
4. OSG学习<2> GraphicsContext与窗口建立(6093)
5. OSG学习<3> Drawable 与 几何体创建(6066)
评论排行榜
1. 使用后缀数组 解决zoj 3199 Longest Repeated Substring(5)
2. pku 1191 棋盘分割 (DP)(三)(4)
3. opengl学习 nehe opengl lesson_6(3)
4. OSG学习<3> Drawable 与 几何体创建(2)
5. opengl 使用bmp位图纹理(8-bit 24bit)(2)