hit Fish Can Fly

状态压缩DP

愣是没看出来。。。。。

dp[i][j]表示第i个节点的以j的二进制为状态的解



转移的代码

    for(int i = 0; i < (1 << n); i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(dp[j][i] == inf)  continue;

            for(int k = 0; k < n; k++)
            dp[k][i | (1 << k) ] = min(dp[k][i | (1 << k )], dp[j][i] + map[j][k]);
        }
    }


你可能感兴趣的:(hit Fish Can Fly)