UVA 11258 String Partition
来源:互联网 发布:Linux断电文件丢失 编辑:程序博客网 时间:2024/04/28 14:41
大意不再赘述。
思路:给定一个字符串序列,让d[i]表示前i个字符切割时的最小值,则d[i] = min(d[i], d[i-j]+num),num表示从后往前划分为j长度的数字,这样,就满足了递推的关系。
#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>using namespace std;const int MAXN = 1010;const int INF = INT_MAX;typedef long long LL;LL d[MAXN];char str[MAXN];LL dp(int n){for(int i = 1; i <= n; i++) d[i] = -INF;d[0] = 0;for(int i = 1; i <= n; i++){for(int j = 1; j <= 10 && j <= i; j++){LL num = 0;for(int k = 0; k < j; k++){num = num*10 + str[i-j+k] - '0';if(num >= 0 && num < INF){d[i] = max(d[i], d[i-j]+num);}}}}return d[n];}void solve(){scanf("%s", str);int n = strlen(str);printf("%lld\n", dp(n));}int main(){int T;scanf("%d", &T);while(T--){solve();}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 记忆化搜索
- 又到了一年总结经验的时候
- 将刚插入的记录的自增Id,插入到另一个字段中
- Linux卸载文件相同的rpm包
- 当程序崩溃的时候怎么办 part-1
- hdu2051 bitset
- UVA 11258 String Partition
- 鸟蛋孵化之路
- live555 移植
- I don’t want to see another “using namespace xxx;” in a header file ever again
- 十年对日软件开发你得到了什么?
- 构建高可扩Web架构和分布式系统实战(下)(转载自CSDN)
- Android之50个你不知道的使用窍门
- lua在web开发中获取GET或POST参数
- 通过按钮控件实现MDI新建子窗口