【bzoj1449/2895】[JSOI2009]球队收益

2014年12月21日1,6132

Description

在一个篮球联赛里,有n支球队,球队的支出是和他们的胜负场次有关系的,具体来说,第i支球队的赛季总支出是Ci*x^2+Di*y^2,Di<=Ci。(赢得多,给球员的奖金就多嘛)
其中x,y分别表示这只球队本赛季的胜负场次。现在赛季进行到了一半,每只球队分别取得了a[i]场胜利和b[i]场失利。而接下来还有m场比赛要进行。问联盟球队的最小总支出是多少。

Input

第一行n,m
接下来n行每行4个整数a[i],b[i],Ci,Di
再接下来m行每行两个整数s,t表示第s支队伍和第t支队伍之间将有一场比赛,注意两只队间可能有多场比赛。

Output

输出总支出的最小值。

Sample Input


3 3
1 0 2 1
1 1 10 1
0 1 3 3
1 2
2 3
3 1

Sample Output


43
Data Limit
对于20%的数据2<=n<=10,0<=m<=20
对于100%的数据2<=n<=5000,0<=m<=1000,0<=di<=ci<=10,0<=a[i],b[i]<=50.

题解

膜拜了huzecong神犇的题解

首先假设每场比赛两队都是负。。。算出初始收益

然后考虑每次比赛,其中一队为胜

从源向每场比赛连流量1费用0的边,从比赛向这场比赛的两支队都连一条流量1费用0的边

然后考虑费用的增量:多赢一场比赛产生的收益。即(C*(w+1)^2+D*(l-1)^2)-(C*w^2+D*l^2)=2w*C-2l*D+C+D。

对于某支球队,假设后M场中其参加x场,那么最初w=win,l=lose+x,之后每赢一场w++,l–。

我们从它向汇连x条边,分别代表其赢了j场比赛时相对赢j-1场时收益的增量。由于增量递增,所以可以保证正确性。

答案为所有队伍最初收益+最小费用最大流费用。

 

 

  • sherlock2016年3月6日 上午8:38 回复

    黄学长 好像这里应该一开始先假设所有都是输吧?

    #1