uva 11258 String Partition
来源:互联网 发布:php date日期格式化 编辑:程序博客网 时间:2024/04/19 19:32
uva 11258
把给的字符串拆成32位有符号整形范围内的整数,(1<<30)-1,使它们的和最大,和可以超过int范围
先把全部可能用到的家数都枚举出来,得到sum[i][j],其中为str[i]到str[j] 构成的数字,再对每个数字加或不加判断最优结果,类似背包,dp[i]为前i位能分出数的最大和
dp[i]=max(dp[i],dp[j]+sum[j+1][i])
#include<stdio.h>#include<string.h>#define maxn 210#define INF (1<<31)-1long long sum[maxn][maxn];long long dp[maxn];char str[maxn];long long max(long long a,long long b){ return a>b?a:b;}int main(){ int i,j,k,l,m,n; scanf("%d",&l); getchar(); while(l--) { gets(str+1); n=strlen(str+1); memset(sum,0,sizeof(sum)); memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) { long long tmp=0; for(j=i;j<=n;j++) { tmp=tmp*10+str[j]-48; if(tmp>INF) break; sum[i][j]=tmp; } } for(i=1;i<=n;i++) { for(j=0;j<i;j++) { dp[i]=max(dp[i],dp[j]+sum[j+1][i]); } } printf("%lld\n",dp[n]); } return 0;}
- 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
- UVA 11258 - String Partition
- UVA - 11258 String Partition
- UVA - 11258 String Partition
- uva 11258String Partition
- UVA 11258 String Partition(dp)
- uva 11258 - String Partition(dp)
- uva 11258 String Partition(DP)
- String Partition - UVa 11258 dp
- UVA - 11258 String Partition 记忆化搜索
- 黑马程序员---java基础之GUI
- Android按键事件——上层与驱动的映射
- javascript----图片旋转
- oracle中查看表空间使用情况
- git rebase 的作用
- uva 11258 String Partition
- js中innerHTML与innerText的用法与区别
- 笔记之Servlet的Response对象(应用:文件下载、随机验证码)
- Android学习之 Listview
- Git 备忘
- 王淮经验谈:我的码农原则
- 齐鲁工业大学CSDN高校俱乐部举办就业指导讲座
- c/c++ 数字转成字符串, 字符串转成数字
- OpenStack源码分析之cinder-volume服务