CF311E 生物學家

2021-07-16 13:05:21 字數 1323 閱讀 1890

先想到可以把式子改寫,用總資助金額減去拒絕的資助、請喝茶的費用、變性的費用。

然後變成了最小化,我們可以考慮最小割。

解決變性問題,規定靠s的這邊是雄性,i是雄性s向其連vi的邊表示變形就要割掉,否則i向t連vi的邊。

解決條件問題,如果需求為雄性,s向i連wi(+g),i向需要節點全部連正無窮的邊,因為正無窮的邊不會被割,而雌性靠t,所以要麼切靠t邊表示變性,否則切靠s邊表示條件不滿足。

需求為雌性同理。

然後跑最大流。

#include

#include

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

using namespace std;

const int maxn=20000+10,maxm=200000

*2+10,inf=1000000000;

int now[maxn],d[maxn],h[maxn],go[maxm],dis[maxm],fx[maxm],next[maxm];

int v[maxn],w[maxn],len[maxn];

bool ***[maxn],n***[maxn],bz[maxn],czy;

int i,j,k,l,r,s,t,n,m,q,tot,ans;

void add(int

x,int

y,int z,int d)

int dfs(int

x,int flow)

bz[x]=1;

int r=now[x],k;

while (r)

}r=next[r];

}now[x]=0;

return0;}

bool change()

}if (tmp==inf) return

0; fo(i,s,t)

if (bz[i]) d[i]+=tmp;

return1;}

int main()

else

fo(i,1,m)

else

}scanf("%d",&k);

czy=k;

if (n***[i])

else

}ans=0;

dowhile (change());

ans=-ans;

fo(i,1,m) ans+=w[i];

printf("%d\n",ans);

}

軟體生物學

長久以來,軟體的建築學隱喻已經深入人心,可始終無法達到建築學那樣的成熟程度,我不知道是什麼原因,可是有一點是應該注意的,就是一座建築在完成後基本不可以也不需要進行修改,來增加新的樓層,新的門廳等 即使沒有任何修改,建築也可以很長時間的生存下去,除了用發酵的大豆蓋的樓 可軟體要生存,就需要不斷的增加新...

生物學專業 家長講座 生物學專業分析

演講人 龐欣阿姨 李約媽媽 演講內容今天的講座關於生物科學。阿姨首先介紹了生物科學的主要領域。生物科學是從分子 細胞 機體乃至生態系統等不同層次研究生命現象的本質 生物的起源進化 遺傳變異 生長發育等生命活動規律的科學。其中包括生物資訊學專業,生物工程專業,生物科學專業和生態學四大分割槽。然後她根據...

《GEB EGB》 遺傳生物學

1 最詭異的自複製 凱姆式自複製 2 分子生物學 acgt為基,其位置為單元,酶,串,二元組 串的各對相鄰的基 嘌呤 a t 嘧啶 嘌呤 g c 嘧啶 步驟 1 移動 2 複製 3 裁切。一串變成2串 結果 將兩個互補的串分開,則為乙個三個串的集合。注意 退出複製狀態與轉移到補基兩個指令。氨基酸 十...