我是靠谱客的博主 瘦瘦棒棒糖,最近开发中收集的这篇文章主要介绍pku1239 Increasing Sequences (动态规划),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Increasing Sequences
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 1584 Accepted: 662

Description

Given a string of digits, insert commas to create a sequence of strictly increasing numbers so as to minimize the magnitude of the last number. For this problem, leading zeros are allowed in front of a number.

Input

Input will consist of multiple test cases. Each case will consist of one line, containing a string of digits of maximum length 80. A line consisting of a single 0 terminates input.

Output

For each instance, output the comma separated strictly increasing sequence, with no spaces between commas or numbers. If there are several such sequences, pick the one which has the largest first value;if there's a tie, the largest second number, etc.

Sample Input

3456
3546
3526
0001
100000101
0

Sample Output

3,4,5,6
35,46
3,5,26
0001
100,000101

题目大意: 给定一个字符串, 如3456, 将其分割成多个整数,使该整数序列递增,且尽可能使最大的数也就是序列最后一个数最小,在这个前提下使
序列前面的数最大

分析:
两次DP, 一次前向DP,一次后向DP
第一次DP来确定最后一个数字,因为这个数字是递增序列的最后一个数,且这个数必须最小,
代码中dp[i]=j是指由str[1...i]序列生成的递增序列的最后一个数是str[j...i]
第二次DP是在确定最后一个数字的基础上,往前规划,使得前面的数尽可能的大,
代码中dp2[i]=j是指在确定最后一个数的情况下,str[i...end]序列中最大的开头数为str[i...j]
注意最后一个数前面可以加零。

最后

以上就是瘦瘦棒棒糖为你收集整理的pku1239 Increasing Sequences (动态规划)的全部内容,希望文章能够帮你解决pku1239 Increasing Sequences (动态规划)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部