文章
3
粉丝
260
获赞
4
访问
33.7k
这又是一道看似与图论无关的题,但我们仔细一想,“选一个”,是限制,“最大”,是要求,我们便很容易想到最大费用最大流,首先源点向一个节点连上一条容量为1,花费为0的边,表示限制。接着便是此节点联想汇点,容量为一,花费为输入的边,表示选择。接下来就是费用流的模板了。
```
#include<bits/stdc++.h>
#define mod long long(1e5+7)
#define inf 0x3f3f3f3f
using namespace std;
long long getint() {
long long ret=0,flag=1;
char c=getchar();
while(c<'0'||c>'9') {
if(c=='-')flag=-1;
c=getchar();
}
while(c<='9'&&c>='0') {
ret=(ret<<3)+(ret<<1)+c-'0';
c=getchar();
}
return ret*flag;
}
long long n,m,k,maxflow;
long long ans;
long long S,T;
struct edge {
long long ne,v,p;
long long c;...
登录后发布评论
可以用代码插件的