Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
大家帮忙看个代码我用的是n^3的算法。 期中第三层循环是这样的。 大家看下面这两种方法,我开始用的是第一种,但输出错误,然后上网找了一下,别人用的是第二种, 可是我觉得我和他的是一样的呀,只不过他是先找到dp[i-1][k]中的最大项,然后再判断,我是边判断边寻找,但我觉得一样的呀? //第一种 if(num1[i]==num2[j]) { for(int k=1; k<j; k++) { if(num2[j]>num2[k]&&dp[i-1][k]+1>dp[i][j]) { dp[i][j] = dp[i-1][k]+1; } } } //第二种 if(num1[i]==num2[j]) { int p=0; for(int k=1; k<j; k++) if(num2[j]>num2[k]&&dp[i-1][k]>dp[i-1][p]) p=k; if(dp[i-1][p]+1>dp[i][j]) { dp[i][j]=dp[i-1][p]+1; } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator