NOI2000 分区联赛 第二题(dp)
来源:互联网 发布:网管员必读 网络基础 编辑:程序博客网 时间:2024/05/16 05:09
题意:一个长度为N的数串插入K个“×”的最大乘积;
思路:d[i][j]:=长度为i+1的数串插入j个“×”的最大乘积;
状态转移方程:d[i][j]=max{d[t][j-1]*区间(t+1~i)数值}(j-1<=t<i)
初始化:d[i][0]=d[i-1][0]*10+s[i]-'0';
代码:
#include <bits/stdc++.h>using namespace std;const int maxn=41;int d[maxn][maxn];char s[maxn];int N,K,Max,temp,sum;int num(int a,int b){int sum=0;for(int i=a;i<=b;i++) sum=sum*10+s[i]-'0';return sum;}int main(){ while (scanf("%d%d",&N,&K)) {scanf("%s",s);d[0][0]=s[0]-'0';for(int i=1;i<strlen(s);i++) d[i][0]=d[i-1][0]*10+s[i]-'0';for(int i=1;i<strlen(s);i++) for(int j=1;j<=K;j++) { Max=-1;for(int t=j-1;t<i;t++) { sum=num(t+1,i); temp=d[t][j-1]*sum; Max=max(Max,temp);}d[i][j]=Max;}printf("%d\n",d[strlen(s)-1][K]);}return 0;}
阅读全文
1 0
- NOI2000 分区联赛 第二题(dp)
- hdu4843 [noi2000] 古城之谜 (Trie+dp)
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓
- 分区联赛初赛复习
- 分区联赛初赛复习
- NOIP2016全国信息学分区联赛提高组第二试 组合问题
- NOIP2016全国信息学分区联赛提高组第二试 组合问题
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓 ssl 2599 队列
- 全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲
- 全国信息学分区联赛模拟试题(三)
- hdu 4614 多校联赛第二场 1004题
- 2012年分区联赛普级组第二题 寻宝
- 2012年分区联赛普级组第二题 寻宝
- 2017杭电多校联赛第二场-Maximum Sequence(hdu6047)
- 2017杭电多校联赛第二场-Is Derek lying?(hdu6054)
- hdu 4669(多校联赛7dp)
- 2015 多校联赛 ——HDU5375(dp)
- CUDA编程经验技术总结 系列之《核函数之线程技术》
- 链表翻转
- 锐捷EG-2000D忘记web管理员密码
- Vm生命周期和钩子函数
- 动态规划之划分数
- NOI2000 分区联赛 第二题(dp)
- 栈与队列的学习
- 百度2012实习生校园招聘笔试题
- BZOJ2512 聪聪可可
- 信息革命的新世界正在到来,连睡觉都觉得浪费
- XYOJ 判断闰年
- Android笔记(23)TagView标签
- 从load加载数据类型是struct说起
- Java设计模式