题解:CF724E Goods transportation
可以在 cnblog 中阅读。
题意
有
分析
乍一看是一个网络流问题,可以这样建图,令
然后跑一个最大流就可以。但这样建边第二类就会有
模拟费用流就是应对这样的情况的。我们把最大流问题转换为最小割问题,然后考虑使用 DP 求解。
令
分别表示:
- 断开
需要断开与前面所有未断开与 连边的点的连边; - 断开
。
时间复杂度
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
const int N=1e5+5;
int n,c;
int s[N],p[N];
int f[N];
signed main()
{
IOS;
cin>>n>>c;
for(int i=1;i<=n;i++) cin>>p[i];
for(int i=1;i<=n;i++) cin>>s[i];
for(int i=1;i<=n;i++)
{
f[i]=f[i-1]+s[i];
for(int j=i-1;j>=1;j--)
f[j]=min(f[j]+c*j+p[i],f[j-1]+s[i]);
f[0]+=p[i];
}
int ans=1e16;
for(int i=0;i<=n;i++) ans=min(ans,f[i]);
cout<<ans<<endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】