随笔分类 - 网络流
摘要:费用流 好题 推荐这篇博客 "click here" 注意此题如果不用动态开点的话10000的数组是不够的的,会RE 因此网络流推荐动态开点更方便(原来都是手算的)
阅读全文
摘要:二分图 此题看书的时候觉得特别难,实际的代码却非常简单 现在分析是什么让代码如此简单的: 1. 首先预处理出第i个防御塔发射第j个导弹的时间(计算发射时间,不计冷却时间) 2. 二分答案,判断时间mid内能否解决问题 3. 利用vector建边,不用管标号的冲突,在二分图中十分方便(一般网络流可能就
阅读全文
摘要:Acwing因为位置原因无法AC,洛谷上10ms就跑过了,ACwing说我超时,可能是玄学 另外,我们令S和T不联通,就要不允许删除S和T(拆点时边权为inf),而不能直接以s'为起点,t为终点,我无法证明这样做是正确的,也无法证明这样做是错的,而事实上他就是错的 教训是不要使用为证明的算法,而是采
阅读全文
摘要:最小割 复杂度:dinic,能跑1e4到1e5的网络,理论复杂度$(n^2m)$ 求将对象划分为两个集合的最小费用常用最小割,但此题难点在于建图 1. 因为每个模块要么在A,要么在B,故向S,T连边,对每个点必须割掉一条边,不多不少,正符合最小割的条件——整张图都不联通,且不割多余的边 1. 又因为
阅读全文
摘要:算法:匈牙利算法 复杂度:不好算,懒得算 这道题我调了两个半小时,代码长,细节多,现总结一下栽过的坑 1. 此题数组传参的方式很好,能够降低代码难度,值得学习 2. 如何使人和时间、门的二元组互不冲突很重要 3. 如果点无冲突用链表,否则用vector 4. 点是从0开始建的,初始化match数组不
阅读全文
摘要:``` include using namespace std; define go(i,a,b) for(int i=a;i=b; i) define mem(a,b) memset(a,b,sizeof(a)) const int inf=0x3f3f3f3f,N=1000+10; int n1
阅读全文
浙公网安备 33010602011771号