摘要: 对于两个数串a,b,求他们的最长公共子序列 多说不易,还是直接上代码分析吧。 void dp(){ int i, j, k; for(i = 1;i<=n;i++)//循环枚举a[i],b[j] { for(j=1;j<=n;j++) { f[i][j]=f[i-1][j];//若匹配则进行如下操作 阅读全文
posted @ 2019-10-02 21:32 凡间金鳞 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 方法一 暴力求解: 删去i,j,之间的一条边,再求i,j,之间的最短路; 不 断枚举删去的边与i,j,两点直到找到正确答案; 时间复杂度0(n^4) 方法二 Floyed求最小环 for(k=1;k<=n;++k) { for(i=1;i<k;++i)//设k为环中编号最大的点 for(j=i+1; 阅读全文
posted @ 2019-10-02 14:49 凡间金鳞 阅读(149) 评论(0) 推荐(0) 编辑