[problem]
網路流模板
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define inf 10000000
const int maxn = 1000;
struct edge;
vector g[maxn];
int level[maxn];
int iter[maxn];
int n, m, case = 0;
void add_edge(int from, int to, int cap) );
g[to].push_back((edge));
}void bfs(int s) }}
}int dfs(int v, int t, int f) }}
return 0;
}int max_flow(int s, int t)
}int main()
int ans = max_flow(1, n);
printf("case %d: %d\n", ++case, ans);
}return 0;
}[problem]
給定n(200)個任務,m個機器,每個任務s[i], t[i], p[i]分別代表最早開始時間,最晚結束時間, 以及需要執行的時間,判斷m個機器是否可以完成所有任務。
每個任務可以由不同機器間斷性完成
[solution]
每個任務可以由不同機器間斷性完成,所以我們判斷該任務在s[i]-t[i]時間內是否承擔了p[i]的時間。
每一天抽象為乙個點。
每個任務與源點連邊,容量為p[i],每個任務與s[i]-t[i]的時間點連邊,容量為1, 每個時間點與終點連邊,容量為m,最後判斷最大流與∑p[i]的關係即可
for(int i = 1; i <= n ;i++)
for(int i = 1; i <= days; i++) add_edge(i, aim, m);
int ans = max_flow(0, aim);[problem]
給定n個女孩和n個男孩的相斥關係,每輪遊戲每個女孩選擇以前沒有選過的乙個男孩完成遊戲,詢問遊戲最多可以玩多少輪。
[solution]
二分 + 網路流
二分遊戲進行輪數,問題便成了判斷遊戲是否可以進行mid輪。
原點與每個女孩連邊,容量為mid,終點與男孩連邊,容量為mid,不相斥的男孩與女孩連邊,容量為1,最後判斷最大流是否為mid * n
bool cal(int mid)
int tot = max_flow(0, aim);
return tot == mid * n;
}[problem]
在上一題的基礎上,為了讓遊戲進行更多輪,每個女孩可以選取任意的k個男孩作為自己的companion,詢問最大輪數
[solution]
在上一道題的基礎上,每個女孩連線新的節點x,容量為k,x與所有與女孩相斥的男孩相連,容量為1
bool cal(int mid)
for(int i = 1; i <= n; i++)
int tot = max_flow(0, aim);
return tot == mid * n;
}[problem]
給定矩陣,矩陣元素為1代表是羊,2代表狼,0代表空,在一些位置的邊建上fence,使得狼無法到達羊的位置,詢問最小fence
[solution]
原點與羊連邊,容量為inf, 終點與狼連邊,容量為inf,每個位置與其可以到達的四個位置連邊,容量為1,最後跑一邊最小割
for(int i = 0; i <= aim; i++) g[i].clear();
for(int i = 1; i <= n; i++) }}
int ans = max_flow(0, aim);
ACM暑期集訓2
今天主要學習了線性dp和揹包問題以及快速冪。1.整數快速冪 這個直接粘上 int qpow int x,int n res res res n n 1 return ans 2.矩陣快速冪 主要就是將整數快速冪的乘法運算換做矩陣的乘法 下面的 是方陣的快速冪 const int n 10 int t...
ACM暑期集訓4
今天主要學習了線段樹,樹狀陣列,st表,差分,分塊和樹剖 好吧,這個已經沒聽懂了 1.線段樹 線段樹涉及許多應用和思想,以下是今天所學 線段樹主要用於處理一段連續區間的插入,查詢,統計,查詢等操作。複雜度 設區間長度是n,所有操作的複雜度是logn級別。性質 線段樹是平衡的2叉樹,最大深度logn ...
ACM暑期集訓5
今天主要學習力圖論基礎和最短路徑 1.圖論基礎 1 鄰接矩陣存圖 w i j 表示以ij為頂點的邊的權值 const int n 105,inf 9999999 int dis n w n n vis n n,m 鄰接矩陣存圖 for int i 1 i n i for int i 0 i2 鄰接表...