摘要: 时间限制:1000 ms | 内存限制:65535 KB难度:3描述在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为(Mars单位),新产生的珠子的头标记为m,尾标记为n。需要时,Mars人就用吸盘夹住相 阅读全文
posted @ 2012-02-26 19:47 qijinbiao1 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 时间限制:3000 ms | 内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。输入第一行给出一个整数N(0<N<100)表示待测数据组数接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.输出每组测试数据输出一个整数,表示最长公共子序列长度 阅读全文
posted @ 2012-02-26 13:40 qijinbiao1 阅读(250) 评论(0) 推荐(0) 编辑
摘要: View Code 1 #include <iostream>//2084 数塔 2 #define max(a,b) (((a) > (b)) ? (a) : (b)) 3 #define mx 101 4 using namespace std; 5 int f[mx][mx],a[mx][mx]; 6 int fan(int i,int j) 7 { 8 if (f[i][j]!=-1) 9 {10 return f[i][j];11 }12 else13 return max(f[i+1][j]=fan(i+1,j),f... 阅读全文
posted @ 2012-02-26 11:47 qijinbiao1 阅读(197) 评论(0) 推荐(0) 编辑
摘要: View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define Max 10010 5 #define max(a,b) (((a) > (b)) ? (a) : (b)) 6 using namespace std; 7 char ch[Max]; 8 int d[Max]; 9 int dp(int i)10 {11 int k,ans=1;12 if(d[i]!=-1)13 return d[i];14 for(k=i-1;k>=0;k--)15 阅读全文
posted @ 2012-02-26 11:28 qijinbiao1 阅读(196) 评论(0) 推荐(0) 编辑