P1361 小M的作物

2022-04-30 00:51:26 字數 1005 閱讀 1296

p1361 小m的作物

二者取其一型別的網路流題

不同的集合,向對應元素連去不同(收益)容量的邊

對於那些神奇的組合,我們只需要按照以下方式建立兩個點

\(x\)向\(s\)連一條在a時的額外收益

2.\(x\)

\(x^\)(注意順序,\(x\)是其有向邊的起點,\(x^\)是其有向邊的終點)向其後繼節點連\(inf\)容量的邊,保證不會出現在最小割中

3.\(x^\)向\(t\)連去一條在\(b\)時的的收益

然後將所有邊(\(inf\)除外)的權值加起來,減去最小割就是答案

#include#include#include#include#includeusing std::queue;

using std::min;

const int maxn=11000;

int n,m;

struct node

;int head[maxn<<1],tail=-1;

int cur[maxn<<1];

node line[5000000];

void add(int a,int b,long long c)

int dis[maxn<<1];

bool bfs(int s,int t)

}return dis[t];

}long long dfs(int now,int aim,long long flow)

return res;

}long long dinic(int s,int t)

return res;

}int main()

for(int i=1;i<=n;i++)

scanf("%d",&m);

for(int i=1;i<=m;i++)

}printf("%d",ans-dinic(0,n+1));

}

P1361 小M的作物

小m在mc裡開闢了兩塊巨大的耕地a和b 你可以認為容量是無窮 現在,小p有n中作物的種子,每種作物的種子有1個 就是可以種一棵作物 用1.n編號 現在,第i種作物種植在a中種植可以獲得ai的收益,在b中種植可以獲得bi的收益,而且,現在還有這麼一種神奇的現象,就是某些作物共同種在一塊耕地中可以獲得額...

洛谷 P1361 小M的作物

有 nn n 種作物,兩塊耕地 a aa 和 bbb 第 i ii 種作物種植在 a aa 中收益為 a ia i ai 種植在 b bb 中收益為 b ib i bi 另有 m mm 種組合,每種組合有 k kk 種作物,如果這 k kk 種作物共同種在 a aa 中收益為 c1i c1 i c1...

P1361 小M的作物 最小割

小m在mc裡開闢了兩塊巨大的耕地a和b 你可以認為容量是無窮 現在,小p有n中作物的種子,每種作物的種子有1個 就是可以種一棵作物 用1.n編號 現在,第i種作物種植在a中種植可以獲得ai的收益,在b中種植可以獲得bi的收益,而且,現在還有這麼一種神奇的現象,就是某些作物共同種在一塊耕地中可以獲得額...