综合实践考核
第十课
动态规划(II)
最长公共子序列
1、问题描述
我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列当且仅当存在严格上升的序列< i1, i2, ..., ik >, 使得对j = 1, 2, ... ,k, 有xij = zj。比如Z = < a, b, f, c > 是 X = < a, b, c, f, b, c >的子序列。
现用f(j, k)表示,取j 个候选人,使其辩控差为k 的所有方案 中,辩控和最大的那个方案(该方案称为“方案f(j, k)”)的 辩控和。并且,我们还规定,如果没法选j 个人,使其辩控差 为k,那么f(j, k)的值就为-1,也称方案f(j, k)不可行。
aMaxLen[0][j] = 0;
6/27
3、参考程序 for( i = 1;i <= nLength1;i ++ ) {
for( j = 1; j <= nLength2; j ++ )
{
if( sz1[i] == sz2[j] )
aMaxLen[i][j] = aMaxLen[i-1][j-1] + 1;
输出要求
对每组数据,先输出一行,表示答案所属的组号, 如 'Jury #1', 'Jury #2', 等。接下来的一行要象例子那样输出陪审团 的控方总分和辩方总分。再下来一行要以升序输出陪审团里每 个成员的编号,两个成员编号之间用空格分隔。每组输出数据 须以一个空行结束。
9/27
问题描述
输入样例