题目:https://ac.nowcoder.com/acm/contest/1071/A

题意:给你一个串,然后给你m个乘号,用m个乘号分割开这个串,然后求分割可以求出的最大值

思路:首先范围很小

第一种:我把所有乘号分隔最多只有 C(40,6) 种方案,很少,我们直接dfs就可以算出来

第二种:dp做法,我们考虑数组 dp[n][m]

n代表当前位置,m代表用了m个乘号,然后数组值是到当前位置用m个乘号的最大值

我们考虑最后一段数是在哪里,我们枚举位置,然后算出最后一段的值*前面位置用m-1个乘号的最大值

转移方程:dp[i][j]=max(dp[i][j],dp[k][j-1]*最后一段数值)

#include<bits/stdc++.h>
#define maxn 1100
#define mod 1000000007
using namespace std;
typedef long long ll;
ll dp[][],n,m;
char str[maxn];
int main(){
cin>>n>>m;
cin>>str+;
for(int i=;i<=n;i++){
ll dex=,sum=;
while(dex<=i){
sum=sum*+str[dex]-'';
dex++;
}
dp[i][]=sum;
for(int j=;j<=m;j++){
for(int k=;k<=i-;k++){
ll dex=k+,sum=;
while(dex<=i){
sum=sum*+str[dex]-'';
dex++;
}
dp[i][j]=max(dp[i][j],dp[k][j-]*sum);
}
}
}
cout<<dp[n][m];
return ;
}

最新文章

  1. css012 css布局简介
  2. eclipse中的任务标记(TODO、FIXME、XXX)
  3. 利用Arduino快速制作Teensy BadUSB
  4. Beaglebone Black的启动
  5. UVa 1252 - Twenty Questions(记忆化搜索,状态压缩dp)
  6. (转载)MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途
  7. RII K25A 语音空中飞鼠 红外学习步骤
  8. Highcharts图表导出为pdf的JavaWeb实践
  9. HDU 4857 逃生(反向拓扑排序+优先队列)
  10. 51nod_1100:斜率最大
  11. 引入CSS的方式有哪些?link和@import的有何区别应如何选择【转载】
  12. GC调优入门笔记
  13. fdisk磁盘分区与挂载
  14. vscode使用wsl调试代码
  15. C++进阶--隐式类型转换
  16. android开发(27) 看看我的手机里都有什么传感器
  17. RabbitMQ入门_13_消息持久化
  18. UVA-10726 Coco Monkey(递推)
  19. An assembly specified in the application dependencies manifest
  20. C++ 类 、构造、 析构、 重载 、单例模式 学习笔记及练习

热门文章

  1. 《图解设计模式》读书笔记4-2 STRATEGY模式
  2. mysql 5.1.34
  3. NYOJ 654喜欢玩warcraft的ltl(01背包/常数级优化)
  4. C#将字符串Split()成数组
  5. MYSQL 的七种join
  6. 【五一qbxt】day5 图论
  7. k3 cloud查看附件提示授予目录NetWorkService读写权限
  8. CSS-06 外部JS,CSS文件的寻址问题
  9. BJSV-P-004无缝大屏显示
  10. ppt怎么制作抖音快手快闪效果的倒计时动画?