两次dp-poj-1239-Increasing Sequences

该博客主要解析了POJ 1239题目的解题思路,通过动态规划的方法求解如何在数字串中添加逗号形成严格递增序列。首先从前向后DP找到最小的最后一个数,再从后向前DP找到按顺序依次最大的序列。文章强调在无法同时优化多个目标时,应逐个确定关键变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:

http://poj.org/problem?id=1239

题目大意:

给一个数字串(不超过80位),可以在数字之间添加逗号,分成几个数,要求最后形成一个严格递增的序列,且要求最后一个数尽可能的小,如果有多个满足要求,则使第一个数尽可能大,如果还有多个,则使第二个最大,如此类推。求最后的序列。

解题思路:

好dp+思维。

第一次从前往后dp,dp[i]表示包括第i位往前,满足题目要求能得到的最小长度。这样就可以求出,最后一个最小的满足的数了。

求出最后一个最小的数后,从后往前dp,dp[i]表示从第i位开始往后,在满足题目要求的情况下,能得到的最大长度。这样就可以求出,按顺序依次最大的了。

PS&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值