2013年8月9日
摘要: dp 状态转移方程 dp[i][j]=max(dp[i][j],dp[i][k](*/+)dp[k+1][j]) , dp[i][j]=min(dp[i][j],dp[i][k](*/+)dp[k+1][j]) 和uva 上的10700非常相似 但是 spoj上有数字0所以就不能用简单的栈的思想来做了 选择用dp来做#include #include #include #include using namespace std;long long a[110];long long b[110];long long dp[110][110];bool vis[110][110];char s[11 阅读全文
posted @ 2013-08-09 21:06 风流monkey 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 需要注意的是0这个问题 0是不可能单独代表一个字母的 只能与前面的数组组成字母 a[i]是1-9时 dp[i]=dp[i-1],当a[i]与a[i-1]能组成10-26时 dp[i]=dp[i-1]+dp[i-2]。#include #include #include #include long long dp[5010];char s[5010];int a[5015];int is_ok(int x){ if(x>=10 && x<27) return 1; return 0;}int main(){ while(scanf("%s",s)! 阅读全文
posted @ 2013-08-09 18:36 风流monkey 阅读(158) 评论(0) 推荐(0) 编辑