额,10分什么鬼?

P1439 【模板】最长公共子序列

星之海 @ 2017-09-06 22:20:10

#include<string.h>
#include<stdio.h>
int max(int a,int b)
{
    return a>b?a:b;
}
int main()
{
    int f[10001][10001]={0},i,j,l;
    int s[10001],s2[10001];
    scanf("%d",&l);
    for(i=1;i<=l;i++)
    scanf("%d",&s[i]);
    for(j=1;j<=l;j++)
    scanf("%d",&s2[j]);
    for(i=1;i<=l;i++)
    for(j=1;j<=l;j++)
{
    f[i][j]=max(f[i-1][j],f[i][j-1]);
    if(s[i-1]==s2[j-1])
    f[i][j]=max(f[i][j],f[i-1][j-1]+1);
}
    printf("%d\n",f[l][l]);
    return 0;
}

by wwz20050323 @ 2017-09-06 22:48:36

话说你re了。。。超时是因为你想要用递归。。。我没怎么看题,只能劝你换吧


by Lying_Flat666 @ 2017-09-26 22:52:34

@wwz20050323 wwz,信息学社团的,作弊者。。。


by Lying_Flat666 @ 2017-09-26 22:54:01

@wwz20050323 这个不是递归啊。。。不是递推dp吗?


by wwz20050323 @ 2017-09-27 20:52:26

@wuhanru0001

都因为老师教的都和题解一样的方法,我在老师讲后顺带刷了,结果。。。


by Lying_Flat666 @ 2017-09-27 21:23:32

@wwz20050323 程老师讲dp了吗?


|