请大佬帮忙
  • 板块灌水区
  • 楼主nahidaa
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/9/29 10:01
  • 上次更新2023/11/2 17:24:02
查看原帖
请大佬帮忙
596945
nahidaa楼主2023/9/29 10:01

题目:

AC代码(DP转移方程部分看不懂):

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a[3005],b[3005],qianzhui1[3005],qianzhui2[3005],dp[3005];
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>n>>m;
	for(int g=1;g<=n;g++){
		cin>>a[g]>>b[g];
		qianzhui1[g]=qianzhui1[g-1]+a[g];
		qianzhui2[g]=qianzhui2[g-1]+b[g];
	}
	memset(dp,127,sizeof(dp));
	dp[0]=0;
	for(int g=1;g<=n;g++){
		for(int h=0;h+1<=g;h++){
			dp[g]=min(dp[g],dp[h]+(qianzhui2[g]-qianzhui2[h])*qianzhui1[g]+m*(qianzhui2[n]-qianzhui2[h]));
		}
	}
	cout<<dp[n]<<"\n";
	return 0;
}
2023/9/29 10:01
加载中...