題面見
這個題目看完可以猜測到這道題需要二分答案進行check()
然後就是建圖,首先在check的時候檢視是否所有邊都流滿了,其次因為一對男女跳一場,所以建邊容量為1,然後男生和女生分別向原點和匯點連容量為mid的邊
(我最後改成了把喜歡的分點合併到總點裡面去)
然後就是**了
//luogu-judger-enable-o2
#include#include
using
namespace
std;
#define inf 0x3f3f3f3finline
intread()
while(ch>='
0'&&ch<='9'
)
return w*f;
}int n,m,cur[100010],head[100010],cnt=1,depth[100010
],maxflow,s,t;
bool
debug;
const
int p=1000
;struct
edgeedge[
5000010
];queue
q;inline
void addedge(int u,int v,int
w)inline
void ins(int u,int v,int
w)];
inline
bool bfs(int st,int
ed) }
}return
depth[ed];
}inline
int dfs(int u,int ed,int
limit)
}return
flow;
}inline
void
dinic()
} inline
bool check(int
a)
for(i=1;i<=n;i++)
}dinic();
//couttrue
;
else
return
false;}
intmain()
}int l=0,r=n+m;int
ans;
while(l<=r)
cout
return0;
}
BZOJ3993 星際戰爭(網路流,二分答案)
3333年,在銀河系的某星球上,x軍團和y軍團正在激烈地作戰。在戰鬥的某一階段,y軍團一共派遣了n個巨型機械人進攻x軍團的陣地,其中第i個巨型機械人的裝甲值為ai。當乙個巨型機械人的裝甲值減少到0或者以下時,這個巨型機械人就被摧毀了。x軍團有m個雷射 其中第i個雷射 每秒可以削減乙個巨型機械人bi的...
二分查詢與二分答案
主要用於在乙個單調的函式中查詢某值 連續函式的情況 若當前查詢的區間是 l,r 查詢的值是 y 函式單增 設 mid l r 2 若 f mid y 則 l mid,否則 r mid 直至 r l eps 當前查詢的區間是 l,r 查詢的值是 y 函式單增 設 mid l r 2 若 f mid y...
二分查詢和二分答案
1.解釋 優點 查詢速度快。缺點 待查表為有序表。4.時間複雜度 o log n 5.示例 p2249查詢 include include using namespace std long long n,m,a 1000005 b 100005 l,r,mid,cnt,x intmain for i...