POJ 3084 Panic Room 求最小割

2022-09-07 17:39:17 字數 794 閱讀 3861

建模的思路大概是這樣的,把房間當做點,門當做是邊,如果從房間a能到房間b中間有乙個門,如果鎖在a這邊那麼a->b容量就是inf,b->a的容量就是1。

攻擊者如果在a這邊的話顯然就算你鎖了門也是沒有意義的,在b這邊如果鎖上是有意義的,所以算1個門,然後就很簡單了,建立源點到所有攻擊者點的邊,容量為inf,匯點就是要保護的那個房間。求最小割即可。

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

const int maxn = 30;

const int inf = int_max / 3;

int cap[maxn][maxn],n,s,t;

int level[maxn],q[maxn],qs,qe;

char buf[128];

bool bfs()

}return level[t];

}int dfs(int now,int alpha)

}if(sum == 0) level[now] = -1;

return sum;

}void solve()

int main()

if(buf[0] == 'i') cap[s][i] = inf;

}solve();

}return 0;

}

poj1734 求最小環)

time limit 1 sec memory limit 128 mb submit 15 solved 6 submit status web board 給定一張無向圖,求圖中乙個至少包含3個點的環,環上的節點不重複,並且環上的邊的長度之和最小。該問題稱 為無向圖的最小環問題。在本題中,你需要...

求最小點基 poj 1236

題意 解題思路 只要算出強連通的個數,並且知道哪些強連通沒有入度,計數,然後第二個答案只要計數所有強連通入度為0,出度為0的個數,然後取兩者最大值,這就是要新增的最少邊數。view code 1 include2 include3 define min a,b a4 define max a,b a...

POJ 3253(Huffman樹求最小權值)

題意 給出n個木棒長度,從無限長的木棒上鋸斷n 1次,每次鋸斷需要花費的代價為木棒的長度,求最小代價。思路 huffman樹求最小權值的問題,用優先佇列可以很方便的解決這道題。include include include include include includeusing namespace...