[NOI2006] 最大获利


link

一道不算太难的网络流模型题目。

显然可以发现对于每一个用户可能会有哪些决策。无非就是两种,一种是牺牲自己,但换来了基站那边的平易近人;另一种是自己付费,但同时自己对应的两个基站都要建立。这样我们就可以抽象化两个决策了,假如每个用户都付了钱的,那么要么会损失这个用户的费用,要么会损失建立两个基站的费用,而我们需要的就是最小化这个值,那么这就是一个可爱的网络流模板了。

鬼知道为什么卡我空间,开大二倍就好了。

#include
//#define zczc
const int N=10010;
const int M=100010;
const int maxn=1e9;
inline void read(int &wh){
	wh=0;int f=1;char w=getchar();
	while(w<'0'||w>'9'){if(w=='-')f=-1;w=getchar();}
	while(w>='0'&&w<='9'){wh=wh*10+w-'0';w=getchar();}
	wh*=f;return;
}
inline int min(int s1,int s2){
	return s1