kyeremal 網路流24題T7 試題庫問題

2021-07-02 02:30:48 字數 924 閱讀 4002

題意:

假設乙個試題庫中有 n 道試題。每道試題都標明了所屬類別。同一道題可能有多個類別屬性。

現要從題庫中抽取 m 道題組成試卷。並要求試卷包含指定型別的試題。試設計乙個滿足要求的組卷演算法。

思路:1. 試卷和屬性分別定義為 x, y 集。每個試卷有多重屬性,二分圖多重匹配。

code:

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

#define rep(i, l, r) for (int i = l; i <= r; i++)

#define rep(i, l, r) for (int i = l; i >= r; i--)

#define maxn 100010

int n, m, sum = 0, n = -1, first[maxn], next[maxn], s, t, dis[maxn];

struct tlist a[maxn];

queueq;

vectorv;

inline void add(int x, int y, int f)

inline bool bfs()

} return ~dis[t];

}inline int find(int x, int low)

return sum;

}inline int dinic(int begin, int end)

int main()

rep(i, 1, m) add(n + i, n + m + 1, 1);

dinic(0, n + m + 1);

rep(_, 1, n)

return 0;

}

網路流 24 題

1 搭配飛行員 題意 n個飛行員,其中有m名飛行員是正駕駛員。飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些駕駛員不能在同一架飛機上飛行,問如何搭配駕駛員才能使出航的飛機最多。思路 裸二分圖匹配 最大流 題 版本一 網路流做法 引入源點s 0以及匯點t n...

網路流24題

學會網路流演算法後,我們要做的就是把問題轉化成網路流問題。求二分圖最大匹配。網路流建模要找到問題的關鍵特點,用連邊,流量 以及費用 把原問題轉化成網路流問題,包括最大流,最小割,費用流。二分圖最大匹配的特點是每個點最多屬於一條匹配邊。這相當於是說,每個點只能流過一次。要求的是最大匹配,可以得出建模為...

網路流24題

經典問題,做了一部分 太水的就不記錄了 最大流是對於一種完整的匹配的處理,一條路乙個貢獻。要求匹配盡可能多。費用流是對於乙個路徑的最值的處理,每條邊自己的費用。再匹配最多前提下,匹配的費用達到最值。難點就是對於條件狀態的設計 網路流24題 餐巾計畫問題 費用流建模 考慮每天一定有ri條髒毛巾,所以髒...