n n
個人在做傳球的遊戲,編號為1−
n' role="presentation">1−n
1−n。
遊戲規則是這樣的:開始時球可以在任意一人手上,他可把球傳遞給其他人中的任意一位;下乙個人可以傳遞給未接過球的任意一人。
即球只能經過同乙個人一次,而且每次傳遞過程都有乙個代價;不同的人傳給不同的人的代價值之間沒有聯絡;
求當球經過所有
n n
個人後,整個過程的最小總代價是多少。
第一行為n' role="presentation">n
n,表示共有
n n
個人(16
>=
n>=
2' role="presentation">16
>=
n>=216
>=
n>=
2);
以下為n
2 n
2的矩陣,第i+
1 i+1
行、第j
j列表示球從編號為
i' role="presentation">i
i的人傳遞到編號為
j j
的人所花費的代價,特別的有第i+
1' role="presentation">i+1
i+1行、第
i i
列為−1' role="presentation">−1−
1(因為球不能自己傳給自己),其他資料均為正整數(
<=
10000
<=
10000
)。
乙個數,為最小的代價總和。這其實是一道很簡單的狀壓dp
d
p。f[
i][j
] f[i
][j]
表示在i i
的二進位制狀態下(
1' role="presentation">1
1表示已經傳過了),當前的球在
j j
號人手裡的最小代價總和。
考慮球從
j' role="presentation">jj傳到
k k
(k' role="presentation">k
k之前沒有傳過球): f[
i|(1
<<(k
−1))
][k]
=min
f[i]
[j]+
cost
[j][
k]f [i
|(
1<<(k
−1))
][k]
=min
f[i]
[j]+
cost
[j][
k]
**實現如下:
for(i=0;i
<=t;i++)
}for(i=1;i
<=n;i++)
for(i=0;i
<=t;i++)}}
}
NKOJ P1377 火燒赤壁
一道從初學以來一直沒有a掉的題 果然還是我太菜了 kono題面噠!曹操平定北方以後,公元208年,率領大軍南下,進攻劉表。他的人馬還沒有到荊州,劉表已經病死。他的兒子劉琮聽軍聲勢浩大,嚇破了膽,先派人求降了。孫權任命周瑜為都督,撥給他三萬水軍,叫他同劉備協力抵抗曹操。隆冬的十一月,天氣突然回暖,颳起...
17 5讀書季 開啟
曾記得,買書是最划算的投資,看書是付出最少,收穫最大的投資。5月讀書,勞動節開啟,讀書,高效能mysql 第3版 自從上班之後,慢慢的發現,自己的能力越來越弱,自己也越來越沒自信。很多事要做,但是卻不想做,回頭還是惡性迴圈。好久沒寫部落格,也不知道寫些什麼,csdn沒有私人部落格功能,所以我只好去1...
175 電路維修 bfs
達達是來自異世界的魔女,她在漫無目的地四處漂流的時候,遇到了善良的少女翰翰,從而被收留在地球上。翰翰的家裡有一輛飛行車。有一天飛行車的電路板突然出現了故障,導致無法啟動。電路板的整體結構是乙個r行c列的網格 r,c 500 如下圖所示。電路.png 每個格點都是電線的接點,每個格仔都包含乙個電子元件...