一套題裡面的各個題是假的,可以處理出 \(w_\) 為第 \(i\) 個人選第 \(j\) 套題的期望得分。
對於每個人來講,有 \(m\) 種選擇套題,只能選擇乙個套題,要求價值最小,於是想到乙個最小割的經典建圖:對於每個人,從 \(s\) 到 \(t\) 連一條長度為 \(m\) 的鏈,邊的流量依次為這個人選擇第 \(i\) 套題的期望得分。
考慮怎樣描述限制,若割了 \(j\) 的第 \(l\) 條邊,那麼就不能割 \(i\) 的前 \((j+k-1)\) 條邊。
那麼就從 \(j\) 的第 \(l\) 條邊的起點,向 \(i\) 的前 \((j+k-1)\) 條邊的終點連一條 \(+\infty\).
但是要注意到,限制和限制之間是有傳遞性的,假若有 \(1\) 比 \(2\) 大 \(1\),\(2\) 比 \(3\) 大 \(1\),那麼還需要滿足 \(1\) 比 \(3\) 大 \(2\).
將一開始 \(s\) 到 \(t\) 的若干條長度為 \(m\) 的鏈,連一條反向的流量為 \(+\infty\) 的邊,這樣限制和限制組成的限制也被滿足了。
最小割 建圖模型:每個位置 \(n\) 選 \(1\),求最小代價,\(s\) 到 \(t\) 連若干條長度為 \(n\),流量依次為每種選擇的代價,求最小割。
#include#include#include#include#include#define pb emplace_back
#define mp std::make_pair
#define fi first
#define se second
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef std::pairpii;
typedef std::vectorvi;
const ll mod = 998244353;
ll add(ll x, ll y)
ll mul(ll x, ll y)
ll mod(ll x)
ll cadd(ll &x, ll y)
ll cmul(ll &x, ll y)
template t max(t x, t y)
templatet max(t x, t2 ...y)
template t min(t x, t y)
templatet min(t x, t2 ...y)
template t cmax(t &x, t y)
template t cmin(t &x, t y)
template t &read(t &r)
templatevoid read(t1 &x, t2& ...y)
const int n = 100010;
const int m = 500010;
const ll inf = 0x7fffffffffffffff;
const ld eps = 1e-10;
int n, m, p, y, c[n], pos[81][81];
ld f[81][81][81], w[81][81];
int tot, s, t, ent = 1, head[n], cur[n], dis[n];
struct edge e[m];
inline void add(int x, int y, ld z)
bool bfs()
} }return dis[t] != -1;
}bool qwqbfs()
} }return dis[t] != -1;
}ld dfs(int x, ld lim)
} return flow;
}ld dinic()
void solve()
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
} s = ++tot; t = ++tot;
for(int i = 1; i <= n; ++i)
} for(int o = 1; o <= y; ++o)
if(qwqbfs())
double qwq = dinic();
printf("%lf\n", qwq);
}signed main()
洛谷 P1101 題解
這道題可以用深搜 回溯 來寫,相信大部分人都是這麼想的,但是有些人可能在一些地方饒了半天,所以這裡就貼一下我的思路,個人覺得自己的很好懂,除了tx和ty那裡,但是tx和ty的那種用法對於輸出路徑的題目一般很實用 這個算是比較簡單的吧,題目裡給出了具體要找的字串,我們要做的就是對它進行8個方向的搜尋,...
洛谷 P1169 題解
請你在乙個黑白矩陣中選出乙個長方形 含正方形 和正方形的子矩陣,使得所有相鄰的點顏色不一樣。矩陣大小 兩條邊都 2000 2000 2 000輸入 3 31 0 1 0 1 0 1 0 0輸出4 6解釋給定矩陣 正方形 長方形 我的控制台是萌萌噠 ffc0cb粉色 乙個小技巧 如果您的控制台是像我的...
題解 洛谷 P3332
題目描述 權值線段樹套線段樹板子題 首先觀察題目,判斷為二維偏序問題 操作1為區間修改,所以一定是外部線段樹維護權值,內部線段樹維護所在區間,否則時間複雜度 qwq 為方便查詢,雜湊時我採用雜湊每個數的相反數的方法將求第k大轉換為求第k小 詢問可以直接想到的做法就是二分答案,查詢1 ans在區間內的...