bzoj3894 文理分科

2021-07-29 20:10:02 字數 907 閱讀 4471

s向每個人連邊,容量是選文科的滿意值;每個點向t連邊,容量是選理科的滿意值。

再新建2*n*m個點,表示每個人和相鄰的人都選文(p1)、或都選理(p2)。s向p1連邊,容量為這個人的same_art,p1再向這個人和相鄰的四個人都連inf的邊;p2向t連邊,容量為這個人的same_science,這個人以及周圍相鄰的四個人向t2連邊。

跑最小割。

//最小割

#include

#include

#define maxn 300000

#define inf 0x3f3f3f3f

using namespace std;

int head[maxn], to[maxn], c[maxn], nex[maxn], n, a[150][150], s[150][150], sa[150][150],

ss[150][150], exit, d[maxn], num[maxn], tot=1, s, t, last[maxn], m, ans;

void adde(int a, int b, int cc)

void adde2(int a, int b, int cc)

int isap(int

pos, int in)

exit=--num[d[pos]]==0;

++num[++d[pos]];

last[pos]=head[pos];

return flow;

}int tab(int a, int b)

void init()

for(i=1;i<=n;i++)for(j=1;j<=m;j++)ans+=a[i][j]+s[i][j]+sa[i][j]+ss[i][j];

}int main()

BZOJ 3894 文理分科

time limit 10 sec memory limit 512 mb submit 194 solved 122 submit status discuss description 文理分科是一件很糾結的事情!雖然看到這個題目的人肯定都沒有糾 結過 小p所在的班級要進行文理分科。他的班級可以用...

BZOJ 3894 文理分科

解四個方程。為了簡潔我們畫出來兩個來解方程推理一下。s a aa s b ab a t ba b t bb s x a和其他相關格仔收益 x t 同上 include include include include include define maxn 1000010 using namespac...

bzoj3894 文理分科

description 文理分科是一件很糾結的事情!雖然看到這個題目的人肯定都沒有糾 結過 小p所在的班級要進行文理分科。他的班級可以用乙個n m的矩陣進行 描述,每個格仔代表乙個同學的座位。每位同學必須從文科和理科中選擇 一科。同學們在選擇科目的時候會獲得乙個滿意值。滿意值按如下的方式 得到 1 ...