30/09/2018, 21:34
Không hiểu thuật toán bài toán sau
Mình đọc cả ngày rồi mà mãi không hiểu bài toán này ở link sau: http://blog.csdn.net/EL_PSY_CONGROO_Z/article/details/49516215
Ở link đó có cả đề và code rồi. Mình đọc code mãi, mà không hiểu đoạn sau:
(rep là vòng for mình hiểu rồi, nhưng chưa hiểu rõ thuật toán đó)
rep(pos,0,len){
rep(k,0,kk){
for(int i='a';i<='z';i++){
if(dp[pos][k][i]==-inf) continue;
for(int j='a';j<='z';j++){
int tmp=1;
if(s[pos+1]==j)tmp=0;
dp[pos+1][k+tmp][j]=max(dp[pos+1][k+tmp][j],dp[pos][k][i]+a[i][j]);
}
}
}
}
Bài liên quan