当前位置: 首页 > news >正文

Solution - P4174 最大获利

很明显这是一个最小割的题。然后想怎么最小割。

我们先把所有正贡献加起来,然后把可能失去的正贡献和可能获得的负贡献建图跑最小割即可。

#include <bits/stdc++.h>
#define llong long long
#define N 60004
#define M 200005
using namespace std;#define bs (1<<20)
char buf[bs], *p1, *p2;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,bs,stdin),p1==p2)?EOF:*p1++)
template<typename T>
inline void read(T& x){x = 0; int w = 1;char ch = gc();while(ch < '0' || ch > '9'){if(ch == '-') w = -w;ch = gc();}while(ch >= '0' && ch <= '9')x = (x<<3)+(x<<1)+(ch^48), ch = gc();x *= w;
}
template<typename T, typename ...Args>
inline void read(T& x, Args& ...y){return read(x), read(y...);
}constexpr int inf = 1e9+7;int n, m, s;
int to[M<<1], siz[M<<1], nxt[M<<1], head[N], gsiz = 1;
#define mkarc(u,v,w) (++gsiz, to[gsiz]=v, siz[gsiz]=w, nxt[gsiz]=head[u], head[u]=gsiz)
int lev[N], cur[N];int que[N], he, ta;
inline bool bfs(){for(int i = 1; i <= n+m+2; ++i) cur[i] = head[i], lev[i] = 0;que[he = ta = 1] = 1, lev[1] = 1;while(he <= ta){int u = que[he++];if(u == 2) return true;for(int i = head[u]; i; i = nxt[i]){int v = to[i];if(lev[v] || !siz[i]) continue;lev[v] = lev[u]+1;que[++ta] = v;}}return false;
}
inline int dfs(int u, int f){if(u == 2) return f;int res = 0;for(int &i = cur[u]; i; i = nxt[i]){int v = to[i];if(lev[v] != lev[u]+1 || !siz[i]) continue;int d = dfs(v, min(f, siz[i]));if(!d) lev[v] = -1;siz[i] -= d, f -= d;siz[i^1] += d, res += d;if(!f) break;}return res;
}
inline int dinic(){int res = 0;while(bfs()) res += dfs(1, inf);return res;
}int main(){freopen("in.txt", "r", stdin);read(n, m);for(int i = 1, x; i <= n; ++i){read(x);mkarc(1, i+2, x), mkarc(i+2, 1, 0);}for(int i = 1, v1, v2, x; i <= m; ++i){read(v1, v2, x), s += x;mkarc(v1+2, i+n+2, inf), mkarc(i+n+2, v1+2, 0);mkarc(v2+2, i+n+2, inf), mkarc(i+n+2, v2+2, 0);mkarc(i+n+2, 2, x), mkarc(2, i+n+2, 0);}printf("%d", s-dinic());return 0;
}
http://www.jsqmd.com/news/412299/

相关文章:

  • 实测|儿童羽绒服线下实体店实测,宝妈闭眼冲不踩雷 - 品牌测评鉴赏家
  • 宝妈必看|3款高口碑儿童羽绒服推荐,保暖好穿不踩雷 - 品牌测评鉴赏家
  • 2026年GEO优化公司Top8深度测评:从技术实力到效果落地的选型指南 - 小白条111
  • 2026 省选集训 Final 做题记录
  • 维塔金 (Vitaking) 矿工阿古斯的故事:八年从普通工人到运输队长 - 资讯焦点
  • 家长必看!2026儿童羽绒服品质大揭秘,这些品牌超靠谱 - 品牌测评鉴赏家
  • 语言模型在复杂文本摘要与知识图谱构建中的创新技术
  • 宝妈宝爸必看!线下童装宝藏店铺大揭秘 - 品牌测评鉴赏家
  • 2026年AI优化GEO公司Top7深度测评:从技术到效果的专业选型指南 - 小白条111
  • 寒冬小卫士:儿童羽绒服品牌大揭秘 - 品牌测评鉴赏家
  • P7735 [NOI2021] 轻重边
  • 2026国货之光!这些国产儿童鞋服品牌,宝妈必看 - 品牌测评鉴赏家
  • Spring Boot 3.5 + Spring AI 实战企业级智能问卷
  • 基于SpringBoot+Vue的高校大学生实习就业服务平台设计与实现
  • 2026宝妈必看!童装品牌红榜大公开~~ - 品牌测评鉴赏家
  • 宝妈宝爸必看!这些童装品牌美炸了 - 品牌测评鉴赏家
  • 2026年AI优化GEO公司Top9深度测评:从技术实力到效果落地的选型指南 - 小白条111
  • LangChain DeepAgents 速通指南(二)—— Summarization中间件为Agent作记忆加减法
  • 宝妈必看|6款热门童装羽绒服实测!避坑指南+实用分享,承包娃整个冬天的温暖 - 品牌测评鉴赏家
  • 敢签“70天无效退款”!奥本元NMN到底有什么底气终结抗衰骗局? - 资讯焦点
  • 2026最新十大知名板材品牌推荐榜!优质环保品质与高性价比源头厂家选择指南,适配多场景家居需求 - 十大品牌榜
  • react之shadcn(二)
  • 宝妈必看!2026高性价比童装品牌大揭秘 - 品牌测评鉴赏家
  • 英语月份命名为什么无规律?
  • wordpress上传图片无法显示
  • 2026宝妈必看!童装品牌红榜大公开 - 品牌测评鉴赏家
  • AI Agent的多任务并行处理能力开发
  • react之shadcn(一)
  • 宝妈宝爸必看!童装选购不迷路 - 品牌测评鉴赏家
  • 上海直饮水机一站式服务:详解服务体系+靠谱供应商推荐 - 小坤哥