问题描述

今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:

设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。

同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子:

有一个数字串:312, 当N=3,K=1时会有以下两种分法:

312=36
  31
2=62

这时,符合题目要求的结果是:31*2=62

现在,请你帮助你的好朋友XZ设计一个程序,求得正确的答案。

输入格式

程序的输入共有两行:
  第一行共有2个自然数N,K(6≤N≤40,1≤K≤6)
  第二行是一个长度为N的数字串。

输出格式

输出所求得的最大乘积(一个自然数)。

样例输入

4 2
1231

样例输出

62

解题思路:本题和 最大的算式(点这里) 动态规划思路一致,具体解析可以看这里面,唯一不同的是初始化的时候需要注意,用到change函数完成从字符串到数字的转换

代码:

#include<cstdio>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
char s[50];
int change(int start, int e) {int ans = 0;for (int i = start; i <= e; i++) {ans = ans * 10 + (s[i] - '0');}return ans;
}
int main(void) {int N, K;int dp[50][10] = { 0 };scanf("%d %d", &N, &K);scanf("%s", s + 1);for (int i = 1; i <= N; i++) {dp[i][0] = change(1, i);}for (int i = 2; i <= N; i++) {int mut = min(i - 1, K);for (int j = 1; j <= mut; j++) {for (int l = j + 1; l <= i; l++) {dp[i][j] = max(dp[i][j], dp[l - 1][j - 1] * change(l, i));}}}printf("%d", dp[N][K]);return 0;
}

蓝桥杯 算法训练 乘积最大(动态规划)相关推荐

  1. 蓝桥杯——算法训练——数字三角形

    蓝桥杯--算法训练--数字三角形 这道题不难,但是比较典型,可以作为动态规划(dp)的入门篇,属于线性dp(LIS,LCS和数字三角形都是此类题型). ------------------------ ...

  2. 蓝桥杯 算法训练 逗志芃的危机

    蓝桥杯 算法训练 逗志芃的危机 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和 ...

  3. 蓝桥杯 算法训练 强力党逗志芃

    蓝桥杯 算法训练 强力党逗志芃 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 逗志芃励志要成为强力党,所以他将身上所以的技能点都洗掉了重新学技能.现在我们可以了解到,每个 ...

  4. 蓝桥杯算法训练 印章

    蓝桥杯 算法训练 印章 问题描述 ​ 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ​ 一行两个正整数n和m 输出格式 ​ 一个实数P表示答案,保 ...

  5. 蓝桥杯 算法训练 幸运的店家

    蓝桥杯 算法训练 幸运的店家 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 炫炫开了一家商店,卖的货只有一个,XXX,XXX卖N元钱.有趣的是,世界上只有面值为3的幂的纸 ...

  6. 蓝桥杯 算法训练 Beaver's Calculator

    蓝桥杯 算法训练 Beaver's Calculator 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator ...

  7. 蓝桥杯 算法训练 印章

    蓝桥杯 算法训练 印章 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入输出: 一行两个正整数n和m 一个实数P表示答案,保留4位小数. 样例: 2 3 ...

  8. 蓝桥杯算法训练-24点(Python)

    问题描述 24点游戏是一个非常有意思的游戏,很流行,玩法很简单:给你4张牌,每张牌上有数字(其中A代表1,J代表11,Q代表12,K代表13),你可以利用数学中的加.减.乘.除以及括号想办法得到24, ...

  9. 蓝桥杯算法训练-强力党逗志芃

    持续更新蓝桥杯算法训练题解,有兴趣可以关注一波呀 题目 逗志芃励志要成为强力党,所以他将身上所以的技能点都洗掉了重新学技能.现在我们可以了解到,每个技能都有一个前提技能,只有学完了前提技能才能学习当前 ...

最新文章

  1. 开源ImageFilter库v0.4:新增26种图片效果
  2. 树莓派用服务方式设置开机启动
  3. 数据库的一些基本知识
  4. android显示3d模型_Creator3D:太厉害了!3D模型原来可以这样显示在2DUI上
  5. 我们是如何做好前端工程化和静态资源管理 - 無雄 - 博客园
  6. Spring Boot –使用执行器端点在运行时配置日志级别
  7. HashMap如何在Java中工作
  8. 读取Xml文档的元素和属性
  9. (王道408考研数据结构)第八章排序-第四节2:快速排序
  10. jquery-删除当前行的数据
  11. daily scrum 11.30
  12. 【已解决】ffmpy3.FFExecutableNotFoundError: Executable ‘ffmpeg‘ not found
  13. 总结之前有道笔记的内容--对于postdelay方法的讲解
  14. 浅谈抖音下拉词框优化推广的优势
  15. Qt程序的国际化支持【收藏】
  16. elasticsearch 使用
  17. bat批处理文件字符替换一例
  18. w ndows7怎么安装,《联想Y460在Wndows7系统下完美安装XP系统的方法.doc
  19. python实现第三方验证码获取_python利用第三方模块,发送短信验证码(测试案例)...
  20. 2017年3月17日华为内推上机考试

热门文章

  1. 高斯消元法 Gauss
  2. 谷歌本周发布全新线性时间序列预测模型,再次反超Transformer
  3. ElasticSearch 布尔查询
  4. Markdownpad预览失败修复方法(附资源包)
  5. 计算机类论文在哪里投稿?
  6. 大时钟暗物质云计算机,超级计算机历时3月模拟宇宙140亿年演化
  7. 2023年互联网有哪些新机遇?
  8. 代码对比工具「for Mac」
  9. 操作系统『FAT表的计算』
  10. Ruby语言能做什么?