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

P9902 『PG2』模拟最大流 题解

Sol

模拟最大流的一般套路就是求最小割。

题目保证了 \(u<v\),所以我们可以得到如下暴力:

\(f_{i,S}\) 表示前 \(i\) 个点,从 \(1\) 能到集合 \(S\) 中的点,割掉的最小边权。那么转移有:

\[f_{i,S} \to f_{i+1,S \cup \{i+1\}} \]

\[f_{i,S} + \sum_{j \in S}w_{j,i+1} \to f_{i+1,S} \]

其中 \(w_{i,j}\) 代表 \(u=i,v=j\) 的总容量,如果没有边即为 \(0\),应该好理解吧。

这样是 \(O(n^2 2^n)\) 的,需要优化。

我们发现我们还有一个最重要的性质没用,\(v-u \le k\),而且 \(k\) 很小。

此时你发现我们上面第二种转移枚举的 \(j\) 如果满足 \(j < i-k+1\),那么 \(w_{j,i+1}\) 一定为 \(0\)

那么我们就不用维护 \(1\) 是否能到编号小于 \(i-k+1\) 的点,此时我们的 \(S\) 只维护了 \([i-k+1,i]\) 内的点,那么时间复杂度就降为了 \(O(n k 2^k)\),可以通过此题。

Code

#include<bits/extc++.h>
using namespace std;
#define int long long const int N=8e4+5;
int n,m,k,f[1<<7],tmp[1<<7];
__gnu_pbds::gp_hash_table<int,int>w;inline int hs(int x,int y)
{return x*(n+1)+y;
}inline void ckmin(int &x,int y){if(y<x)x=y;}signed main()
{ios::sync_with_stdio(false);cin.tie(0);cin>>n>>m>>k;while(m--){int x,y,val;cin>>x>>y>>val;w[hs(x,y)]+=val;}memset(f,0x3f,sizeof f);f[1<<(k-1)]=0;for(int j=1;j<n;j++){memset(tmp,0x3f,sizeof tmp);for(int i=0;i<(1<<k);i++){if(f[i]>2e9)continue;ckmin(tmp[(i>>1)|(1<<(k-1))],f[i]);int val=0,lt=j-k+1;for(int p=0;p<k;p++)if((i>>p)&1)val+=w[hs(lt+p,j+1)];ckmin(tmp[i>>1],f[i]+val);}memcpy(f,tmp,sizeof tmp);}int ans=0x3f3f3f3f3f3f3f3f;for(int i=0;i<(1<<(k-1));i++)ckmin(ans,f[i]);cout<<ans<<"\n";return 0;
}
http://www.rkmt.cn/news/49707.html

相关文章:

  • 弧焊工业机械手混合气体实用方法
  • XXL-JOB从入门到进阶——架构架构、核心原理
  • 2025年自动挤出机订做厂家权威推荐榜单:挤出造粒机/实验室挤出机/双螺杆挤出机源头厂家精选
  • POSTROUTING 数据包离开前,路由之后 SNAT(源地址转换),源地址转换出去前
  • 使用ollama本地部署Embedding模型bge-large-zh-v1.5 - yi
  • LLM应用剖析: 舆情分析多智能体-微舆BettaFish
  • 2025年CHRO战略指南发布,头部厂商易路提供“三位一体”数智化落地路径
  • 化工产线再升级,稳定互联profinet转devicenet网关连接技术研究
  • 2025 11 14
  • 用户头像文件存储机制是如何实现的?
  • 2025年家具定制厂家权威推荐榜单:智能全屋定制家居/全屋定制/全屋定制家具源头厂家精选
  • 学习sql笔记
  • P10360 [PA 2024] Desant 3
  • 典枢平台“数据经纪人”功能:打通数据供需,高效实现数据变现
  • 2025 年 11 月一力油漆/一力涂料厂家推荐排行榜:醇酸油漆,环氧富锌底漆,丙烯酸聚氨酯油漆优质品牌精选
  • 2025年模块电源十大品牌权威排行榜揭晓,铁路电源/军用电源/新能源车载逆变电源/光伏电源/辅助应急电源/电源模块/高功率密度电源厂商排行榜
  • 2025年塑料皮带轮批发厂家权威推荐榜单:塑料电机齿轮/尼龙圆柱齿轮/塑料齿轮源头厂家精选
  • 102302104刘璇-数据采集与融合技术实践作业3
  • Objective-C 使用YYModel配合AI工具高效创建iOS数据模型
  • Pandas --Series序列
  • Java 并行编程
  • Linux Shell脚本基础语法
  • 不懂 Attention 不算懂 AI?十大奠基论文(一):一文读懂《Attention Is All You Need》
  • PCBA方案设计——充气泵的工作原理是什么?
  • 楼宇间网络拓扑测绘 从原理到精准部署
  • [books]Love, Money, and Parenting: How Economics Explains the Way We Raise Our Kids 5 Febrero 2019
  • 一个小白的YOLOv10(MindYOLO)推理初尝试
  • 文本生成器(AC自动机上DP)
  • ICLR2026 !SAM3重磅来袭:能“听懂人话”的分割模型,性能狂飙2倍
  • [题解]P11294 [NOISG 2022 Qualification] Tree Cutting