HDU4545(最长公共子序列)

题目很明显了,最长公共子序列。但是构建映射的时候我用了multimap结果超时。。。。。

直接用hash就好,因为范围不大,就26个字母。

还有一点要吐槽的是我把两个串的索引写反了 竟然提醒我RE而不是WA 结果一道水题优化了一下午。

我真是去年买了个表

        #include
        #include
        #include
        #include
        using namespace std;

        int dp[1005][1005];
        bool Hash[130][130];
        
        int main()
{
	    int T;
	    scanf("%d",&T);
	    for(int Case=1;Case<=T;Case++)
	    {	
	        memset(Hash,0,sizeof(Hash));
	        char strx[1005],strm[1005];
	        scanf("%s%s",strx,strm);
	    	int m;	
	    	scanf("%d",&m);
	    	for(int i=1;i<=m;i++)
	    	{
	    		char ch1[2],ch2[2];
	    		scanf("%s%s",ch1,ch2);
	    	    Hash[ch1[0]][ch2[0]]=1;
			}
			
			int lenx=strlen(strx),lenm=strlen(strm);
			for(int i=0;i




你可能感兴趣的:(算法,动态规划)