程序设计基础12_2_动态规划(2015春)讲解.ppt

程序设计基础12_2_动态规划(2015春)讲解

int main() { int n, m, i, j; //m存放ai左边各终点 //最长上升子序列长度的最大值 scanf(“%d”,n); //输入序列长度n for(i=1; i=n; i++) scanf(“%d”,b[i]); //输入n个整数b[i] MaxLen[1]=1; //初始化以第一个数为 //终点的最长上升子序列长度1 for(i=2; i=n; i++) //求以ai为终点的 { m=0; //最长上升子序列长度 for(j=1; ji; j++) //循环找aj左边最长上 if(a[i] a[j]) //小于升子序列长度 if(mMaxLen[j]) m=MaxLen[j]; MaxLen[i]=m+1; } int nMax = -1; //初始化nMax //循环求以ak为终点的 //最长上升子序列最大长度 for(i=1; i=n; i++) if(nMax MaxLen[i]) nMax = MaxLen[i]; prin

文档评论(0)

1亿VIP精品文档

相关文档