这样也行?这构图把我惊呆了:把每个工人拆成N个点。记为A[i,j]表示第i个工人修倒数第j辆车。每个车跟所有N*M个工人拆出的点连边。流量为1,费用为time[i,j]*k。源和每辆车连边,N*M个点和汇连边,流量都为1,费用同为0。为什么这么构图呢?考虑第i个工人,他修第j辆车只对后面要修的车有影... Read More
posted @ 2014-06-21 19:23 ZYF-ZYF Views(214) Comments(0) Diggs(0) Edit
无限orz hzwer神牛……第一问很简单,按数据建图,然后一遍最大流算法即可。第二问则需要用最小费用最大流算法,主要是建图,那么可以从第一问的残留网络上继续建图,对残留网络上的每一条边建一条容量是∞费用是w的边(反向弧容量为0,费用为-w),然后建一个超级源点,从超级源向1建一条容量为k,费用为0... Read More
posted @ 2014-06-21 18:05 ZYF-ZYF Views(181) Comments(0) Diggs(0) Edit
原来在vijos上做过,当时根本看不懂现在看起来这么水……x记录从b向左连续走比k大的有多少个y记录从b向右连续走比k大的有多少个最后根据乘法原理乘一下不过要加上x[0]+y[0]+1因为实际上满足条件的序列有四种情况:一、只选b,即为1二、只在b左边选,即为x[0]三、只在b右边选,即为y[0]四... Read More
posted @ 2014-06-21 16:27 ZYF-ZYF Views(193) Comments(0) Diggs(0) Edit
双倍经验……没想到白书上竟然有……我还看过……还忘了……抄份题解:A1 + X1 - X2 = GA2 + X2 - X3 = G...An + Xn - X1 = G解得X1 = X1X2 = A1 - G + X1X3 = A1 + A2 - G - G + X1...Xn = sigma(1,... Read More
posted @ 2014-06-21 13:15 ZYF-ZYF Views(272) Comments(0) Diggs(0) Edit
发现这题的并查集做法真是惊呆了不过似乎匹配跑得更快?对于一个联通块,假如不含环(就是一棵树),那么必定可以满足其中任意的p-1个点。对于一个联通块,假如含环,那么必定全部的p个点都能满足。那么合并并查集的时候可以利用一个vis来维护这个性质把权值看成点,把武器看成边如果每次加入的边是合并两个联通块就... Read More
posted @ 2014-06-21 09:52 ZYF-ZYF Views(279) Comments(0) Diggs(0) Edit
实际上和大多这类题一样(比如wikioi上的地鼠游戏),考察的都是堆的操作这次改完之后就算把堆的模版定下来了悲剧的是:大根堆打成了小根堆,导致一开始一直是10分……按结束时间排序,(经过验证,结束时间相同的建筑不需要在根据t的大小来排序)如果time+t[i]>1; 8 while k>=1 ... Read More
posted @ 2014-06-21 07:49 ZYF-ZYF Views(154) Comments(0) Diggs(0) Edit