nefu1109(狀態壓縮dp)

2021-07-11 12:15:01 字數 1018 閱讀 3981

2023年英雄聯盟校園爭霸賽決賽於北京時間7月31日在東北林業大學體育館舉行。經過初選的洗禮後,有來自全國各地的n支隊伍匯集到本次總決賽,比賽最終要角逐出一名冠軍。規則是:隊伍兩兩之間進行比賽,失敗者被淘汰,勝利者晉級,獲得和其他隊伍進行較量的資格,並且為本場比賽貢獻一定的精彩度。比如:i和j比賽,j被淘汰,那麼比賽增加a[i,j]的精彩度。作為這場比賽的贊助商東東在思考乙個問題,比賽的最終精彩度怎樣,到底是不是要投資呢?那麼就請你幫東東預算一下比賽可能出現的最高精彩度是什麼?

輸入資料有多組。每組第一行包含乙個整數n(2<=n<=10)代表參加比賽的總隊伍數。接下來是乙個n行n列的矩陣,a[i,j]代表i和j比賽並且j被淘汰產生的精彩度(a[i,j]<=10000)

輸出包含乙個整數,表示比賽可能出現的最大的精彩度。

2

0 41 0

30 20 1

12 0 1

1 10 0

4

22

題意中文不多說,不過這題剛開始想複雜悲劇tle了。。不過馬上又有了優化思路就過了。

思路:由於資料給的太小,所以我們只要考慮怎麼去記錄這個最大精彩程度就ok,這題總共只有乙個要考慮的就是所有人的狀態,只有這乙個狀態要考慮,所以我們理所當然的要想到用dp[i]來表示狀態就ok。

狀態轉移的過程:用0表示某個人沒被淘汰,1表示被淘汰了,這樣狀態轉移就成了dp[i|(1<

#include #include #include #include#include#include#includeusing namespace std;

typedef long long ll;

int dp[1<<10];

int n;

int tu[15][15];

int main()

{ while(~scanf("%d",&n))

{memset(dp,-1,sizeof(dp));

for(int i=0; i

nefuoj1109 狀態壓縮dp 遊戲爭霸賽

給定m個人比賽,輸了淘汰,贏了繼續比,最後有乙個人是冠軍,給定乙個陣列,a i j 為 i戰勝j的歡樂度,問你如何歡樂度最多。include include include using namespace std int n int a 15 15 int dp 1 15 dp i j i為還沒有輸...

狀態壓縮DP

首先,我們以一道狀壓經典題tsp來引入。tsp問題 一張圖上有n個點,給定相應的鄰接矩陣,需要求出從0號節點出發,經過且只經過每個頂點一次,最後仍回到0號節點的最小邊權。思路 假設現在已訪問過的頂點集合 起點0當作還未訪問過的頂點 為s,當前所在頂點為v,用dp s v 表示從v出發訪問剩餘的所有頂...

狀態壓縮DP

theme 給定乙個n m的玉公尺田,1 n,m 12。值為0表示不能在該塊種草,為1表示可以。現在要在其上中若干草地,要求任意草地間不相鄰 沒有公共邊 問不考慮草地個數的情況下,有多少種種植的方案?solution 用dp。又範圍很小,所以考慮狀態壓縮dp,另dp i j 表示從前i行種植,最後一...