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
0