UVa 11258 String Partition(DP)
来源:互联网 发布:淘宝关键词怎么写 编辑:程序博客网 时间:2024/05/17 01:39
题意:
每组数据由一串不超过200个字符的字符串构成,问把它们分成不超过int类型的数,组合起来最大和是多少?
思路:
dp[i]表示前i个字符能组成的最大数
AC代码
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>using namespace std;typedef long long ll;const int INF = 0x7fffffff;const int N = 205;char num[N];ll sum[N][N] ,dp[N];void init() { memset(sum,0,sizeof(sum)); memset(dp,0,sizeof(dp));}int main() { int T; ll tmp; scanf("%d", &T); while(T--) { init(); scanf("%s",num+1); int len = strlen(num+1); for(int i= 1; i <= len; i++) { tmp = 0; for(int j = i; j <= len; j++) { tmp = tmp * 10 + (num[j] - '0'); if(tmp > INF) { sum[i][j] = 0; break; } sum[i][j] = tmp; } } for(int i = 1; i <= len; i++) { for(int j = 0; j < i; j++) { dp[i] = max(dp[i],dp[j] + sum[j+1][i]); } } printf("%lld\n",dp[len]); } return 0;}
0 0
- UVa 11258 String Partition(DP)
- uva 11258 String Partition (DP)
- UVa 11258 - String Partition(dp)
- UVA 题目11258 - String Partition(DP)
- UVA 11258 String Partition(dp)
- uva 11258 - String Partition(dp)
- uva 11258 String Partition(DP)
- String Partition - UVa 11258 dp
- UVA 11258 String Partition(线性DP)
- uva 11258 String Partition
- UVA 11258 String Partition
- uva 11258 String Partition
- uva 11258 String Partition
- UVa 11258 - String Partition
- UVA - 11258 String Partition
- UVa:11258 String Partition
- uva 11258 - String Partition
- UVA 11258 String Partition
- JAVA菜鸟入门(1) ReadFile
- HTML+CSS交互 (3)
- Codeforces Beta Round #1 C. Ancient Berland Circus
- 构造函数与复制构造函数
- 菏泽曹县成武郓城巨野单县定陶东明网站建设
- UVa 11258 String Partition(DP)
- log4j使用
- BZOJ2761 不重复数字
- 简单方便的大众型视频编辑器“编辑星”正式免费开放
- Android软件开发之获取通讯录联系人信息(二十九)
- Code[VS] 1029 遍历问题
- 简单方便的大众型视频编辑器“编辑星”正式免费开放
- UVa 10608 - Friends(并查集)
- 关于那些将要毕业的事