摘要:
由原式,可以推出D=Σ(i=1,n,Σ(j=1,n,A[i]*A[j]*B[i][j]))-Σ(i=1,n,A[i]*C[i]) $D=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}A[i]*A[j]*B[i][j]-\sum\limits_{i=1}^{n}... 阅读全文
摘要:
建图:源点—>边的起点(集合1中的)—>边的终点(集合2中的)—>汇点,所有边权均为1,计算最大流,最后枚举起点的出边,边权为0的即为匹配上的,可以这样理解:每条边表示起点和终点形成一组可选匹配,所以每个点只能被匹配1次(做起点和终点分别1次),所以可以看成是二分图匹配。代码略丑: 1 #incl... 阅读全文
摘要:
建图:源点—(w[i])—>实验—(∞)—>仪器—(cost[i])—>汇点,如果该实验造成收益,则仪器到汇点的边在最小割中,如果该实验造成损失,则源点到实验的边在最小割中,故答案就是所有实验的所有收益(不考虑仪器花费的)减去最小割。特别注意,最后统计方案时,不能直接判断边权是否为0,因为当花费等于... 阅读全文
摘要:
经典二分图匹配,可以用匈牙利算法,也可以用最大流代码如下(Dinic):#include #include #include #include #include #include #include #include using namespace std;templatestruct Edge{ ... 阅读全文