题目不是说I+1吗
  • 板块P1130 红牌
  • 楼主oval_m
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/11/16 00:11
  • 上次更新2023/11/4 00:26:29
查看原帖
题目不是说I+1吗
574613
oval_m楼主2021/11/16 00:11

为什么转移方程不是这个

dp[i][j]=min(dp[i-1][j],dp[i-1][j%num_group+1])+group[i][j];

我的代码如下

#include<iostream>
#include<algorithm>
using namespace std;
int group[2010][2010],dp[2010][2010]={0};
int main()
{
    int num_group,step;
    cin>>step>>num_group;
    for(int i=1;i<=num_group;i++)
        for(int j=1;j<=step;j++)
            scanf("%d",&group[j][i]);
    for(int i=1;i<=step;i++)
    {
        for(int j=1;j<=num_group;j++)
        {
            dp[i][j]=min(dp[i-1][j],dp[i-1][j%num_group+1])+group[i][j];
        }
    }
    cout<<*min_element(dp[step]+1,dp[step]+1+num_group);
    return 0;
}
2021/11/16 00:11
加载中...