「题解」乘积最大

本文通过动态规划解决一个数学问题:给定一个数字串和乘号数量,如何将其分成多个部分以获得最大乘积。文章详细介绍了问题描述、输入输出格式、样例以及数据范围,并给出了分析和动态规划的解题思路,最后提供了相应的代码实现。
摘要由CSDN通过智能技术生成

题目描述

 输入一个长度为N的数字串, 用K个乘号将它分为 (K+1) 个部分,使得得到的乘积最大
 例如N = 3 , K = 1,输入的数字串为 312
 分法有两种
 312 = 36
 31
2 = 62
 最大值为62

输入格式

 输入共两行
 第一行,正整数 N 和 K
 第二行,一个数字串

输出格式

 用K个乘号将数字串划分为(K+1)个部分所得到的最大乘积

样例

样例输入1

3 1
312

样例输出1

62

样例输入2

7 3
3314245

样例输出2

278040

数据范围与提示

2 <= N <= 30
1 <= K

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值