vijos p1456 最小總代價 裸狀壓

2022-08-17 10:21:22 字數 1163 閱讀 5127

n個人在做傳遞物品的遊戲,編號為1-n。

遊戲規則是這樣的:開始時物品可以在任意一人手上,他可把物品傳遞給其他人中的任意一位;下乙個人可以傳遞給未接過物品的任意一人。

即物品只能經過同乙個人一次,而且每次傳遞過程都有乙個代價;不同的人傳給不同的人的代價值之間沒有聯絡;

求當物品經過所有n個人後,整個過程的總代價是多少。

第一行為n,表示共有n個人(16>=n>=2);

以下為n*n的矩陣,第i+1行、第j列表示物品從編號為i的人傳遞到編號為j的人所花費的代價,特別的有第i+1行、第i列為-1(因為物品不能自己傳給自己),其他資料均為正整數(<=10000)。

(對於50%的資料,n<=11)。

乙個數,為最小的代價總和。

2

-1 9794

2724 –1

2724

所有資料時限為1s

裸的狀壓dp。f(i.j)表示i狀態下最後乙個經過的人為j的最小代價,先列舉狀態o(2^n),再列舉取過的點當成最後經過的人o(n),

最後列舉未取過的點加入到狀態中o(n),總時間複雜度o(2^n*n²),約為1e7。

1 #include2

using

namespace

std;

3const

int maxn=20;4

int f[(1

<5int

dj[maxn][maxn];

6intn;7

intmain()819

}20 memset(f,127,sizeof

(f));

21for(int i=0;i<=n-1;i++)

22 f[(1

<0;23

for(int i=0;i<(1

<)

2431

int ans=99999999;32

for(int i=0;i<=n-1;i++)

33 ans=min(ans,f[(1

<1

][i]);

34 printf("%d"

,ans);

35return0;

36 }

vijos1456 最小總代價

描述 n 個人在做傳遞物品的遊戲,編號為1 n。遊戲規則是這樣的 開始時物品可以在任意一人手上,他可把物品傳遞給其他人中的任意一位 下乙個人可以傳遞給未接過物品的任意一人。即物品只能經過同乙個人一次,而且每次傳遞過程都有乙個代價 不同的人傳給不同的人的代價值之間沒有聯絡 求當物品經過所有 n 個人後...

vijos 1456 最小總代價 狀壓dp

描述 n個人在做傳遞物品的遊戲,編號為1 n。即物品只能經過同乙個人一次,而且每次傳遞過程都有乙個代價 不同的人傳給不同的人的代價值之間沒有聯絡 求當物品經過所有n個人後,整個過程的總代價是多少。格式輸入格式 第一行為n,表示共有n個人 16 n 2 以下為n n的矩陣,第i 1行 第j列表示物品從...

1195 最小總代價

題目描述 n個人在做傳遞物品的遊戲,編號為1 n。即物品只能經過同乙個人一次,而且每次傳遞過程都有乙個代價 不同的人傳給不同的人的代價值之間沒有聯絡 求當物品經過所有n個人後,整個過程的總代價最小是多少。輸入 第一行為n,表示共有n個人 16 n 2 以下為n n的矩陣,第i 1行 第j列表示物品從...