4819 Sdoi2017 新生舞會

2021-08-13 21:30:59 字數 1063 閱讀 9644

題目鏈結

題目大意:有n對男女要配對,每對不同的男女會產生兩個不同的權值a和b,求一種搭配方案使得(a

′1+a

′2+…

+a′n

)/(b

′1+b

′2+…

+b′n

) 最大

題解:顯然是01分數規劃,二分+二分圖最大權匹配即可

然而這並不是本題的難點,這題卡spfa費用流常數(當然km可以吊打此題)

bzoj上算總時限可以過,但是現場測的時候……

std使用了等比例擴大後用long long代替double的方法

為什麼我這樣寫以後又t又wa……

我的收穫:卡常技巧

#include 

#include

#include

#include

#include

using

namespace

std;

#define ll long long

#define inf 0x3f3f3f3f

#define n 205

int n;

int st,ed;

int t,head[n],pre[n];

int a[n][n],b[n][n];

double d[n];

double cost;

bool vis[n];

queue

q;struct edgee[n*n*2];

void add(int u,int v,int w,double z)

void insert(int i,int j,int w,double z)

bool spfa()}}

}return d[ed]!=inf;

}void flow()

}bool check(double now)

void work()

printf("%.6lf\n",ans);

}void init()

int main()

4819 Sdoi2017 新生舞會

4819 sdoi2017 新生舞會 time limit 10 sec memory limit 128 mb submit 352 solved 177 submit status discuss description 學校組織了一次新生舞會,cathy作為經驗豐富的老學姐,負責為同學們安排舞...

bzoj4819 Sdoi2017 新生舞會

description 學校組織了一次新生舞會,cathy作為經驗豐富的老學姐,負責為同學們安排舞伴。有n個男生和n個女生參加舞會 買乙個男生和乙個女生一起跳舞,互為舞伴。cathy收集了這些同學之間的關係,比如兩個人之前認識沒計算得出 a i j 表示第i個男生和第j個女生一起跳舞時他們的喜悅程度...

BZOJ4819 SDOI2017 新生舞會

bzoj luogu 有 n 個男孩子和 n 個女孩子。他們之間要兩兩結伴跳舞。已知第 i 個男孩子和第 j 個女孩子結伴跳舞會有兩個引數 a 和 b 現在要求乙個安排方案使得 a 的總和除以 b 的總和的商盡量大。形式化地,就是求乙個長度為 n 的排列 最大化 l frac a b 分數規劃。二分...