核心代码: for(i = 1; i <= n; i++){ pre[i][i] = a[i]; for(j = i + 1; j <= n; j++){ pre[i][j] = a[j] * pre[i][j - 1] % mod; printf("pre[%d][%d] = %d ",i,j,pre[i][j]); } printf("\n"); } dp[0] = 0;dp[1] = a[1]; for(i = 2; i <= n; i++){ for(j = 0; j < i; j++){ dp[i] = max(dp[i], dp[j] + pre[j + 1][i]); printf("dp[%d] = %d\n",i,dp[i]); } }
核心代码 for(i = 1; i <= n; i++) { scanf("%d",&a[i]); } f[1] = a[1]; f[2] = a[2]; for(i = 3; i <= n; i++) { f[i] = min(f[i - 1] + a[1] + a[i], f[i - 2] + 2 * a[2] + a[1] + a[i]); }
核心代码: for(i = 1; i <= n; i++) { scanf("%d",&a[i]); } for(i = 1; i <= n; i++){ dp[i] = 1; for(j = i - 1; j > 0; j--){ if(a[j] < a[i]){ dp[i] = max(dp[i], dp[j] + 1); } } if(dp[i] > ans){ ans = dp[i]; } }
int l1 = strlen(s1); int l2 = strlen(s2); for(i = 0; i < l1; i++) { dp[i][0] = i; } for(i = 0; i < l2; i++) { dp[0][i] = i; } for(i = 1; i <= l1; i++) { for(j = 1; j <= l2; j++) { if(s2[j - 1] == s1[i - 1]) { dp[i][j] = dp[i - 1][j - 1]; }else{ dp[i][j] = min(dp[i - 1][j],dp[i][j - 1], dp[i - 1][j - 1]) + 1; } } }
for(i = 1; i <= l1; i++) { for(j = 1; j <= l2; j++) { if(s2[j - 1] == s1[i - 1]) { dp[i][j] = dp[i - 1][j - 1] + 1; }else{ dp[i][j] = max(dp[i - 1][j],dp[i][j - 1]); } } }
原文:https://www.cnblogs.com/rongrongrong/p/14415128.html