lightoj 1119 - Pimp My Ride(状压dp)

Posted Gealo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lightoj 1119 - Pimp My Ride(状压dp)相关的知识,希望对你有一定的参考价值。

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1119

 

题解:状压dp存一下车有没有被搞过的状态就行。

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long ll;
ll dp[1 << 15] , val[15][15];
int main() {
    int t , Case = 0;
    scanf("%d" , &t);
    while(t--) {
        int n;
        scanf("%d" , &n);
        for(int i = 0 ; i < n ; i++) {
            for(int j = 0 ; j < n ; j++) {
                scanf("%lld" , &val[i][j]);
            }
        }
        for(int i = 0 ; i < (1 << n) ; i++) dp[i] = (ll)1234567 * (ll)1234567;
        dp[0] = 0;
        for(int i = 0 ; i < (1 << n) ; i++) {
            for(int j = 0 ; j < n ; j++) {
                if(i & (1 << j)) continue;
                else {
                    ll sum = val[j][j];
                    for(int k = 0 ; k < n ; k++) {
                        if(i & (1 << k)) {
                            sum += val[j][k];
                        }
                    }
                    dp[i | (1 << j)] = min(dp[i | (1 << j)] , dp[i] + sum);
                }
            }
        }
        printf("Case %d: %lld\n" , ++Case , dp[(1 << n) - 1]);
    }
    return 0;
}

以上是关于lightoj 1119 - Pimp My Ride(状压dp)的主要内容,如果未能解决你的问题,请参考以下文章

LightOJ 1418 Trees on My Island (Pick定理)

LightOj1418 - Trees on My Island(Pick定理)

LightOJ 1251 Stream My Contest(最小树形图)

hdu 6052 - To my boyfriend

lightoj 1234

(状压) Marriage Ceremonies (lightOJ 1011)