1、网络流的边的cnt初始化为1,否则至少要浪费20min
2、网络流如果要把cap或cost改成longlong,记住:至少有5个地方要开longlong,否则至少浪费40min
3、注意有时需要重建图,同时要把cnt赋为1
4、混合图欧拉回路(经过所有边并回到原点):
先给无向边任意定向(定向的无向边要从定向方向加一条边),然后计算出入度数差,用超级源汇点来补流做网络流。。。判断是否可以满流。方案就是做完网络流之后的残留网络再做一遍有向图欧拉回路。
5、计算几何要考虑精度问题,在全为整数点情况下尽量避免小数运算,尽量少用开方、除法
6、用面积法计算三角形的高时,一定要把三角形面积乘以二!!!!!
7、抓住一些网络流题目的特殊性,比如:恰好经过某点多少次(拆点加超级源汇(实质就是上下界网络流))、隐藏的二分图性质、优化建边、边的费用只为1或0(此时的费用最大最小化可以仅通过0权边来计算)等。
8、如果最大(小)费用最大流有费用的下(上)界,可以在到达汇点时进行判断(因为增广路径的权值有单调性?):
if(u==T){
if(dis[S]<=0){
mic-=1ll*dis[S]*aug;
return aug;
}
else{
int tmp=min(1ll*aug,mic/dis[S]);
mic-=1ll*dis[S]*tmp;
return tmp;
}
}
9、一些看起来很对的网络流模型其实是有漏洞的,多给自己举反例