HDU 5074 Hatsune Miku(DP)
来源:互联网 发布:班服短袖淘宝 编辑:程序博客网 时间:2024/05/26 22:57
思路:状态dp[i][k]表示第i个位置放编号为k的物品,则dp[i][k]=max(dp[i][k],dp[i-1][j]+dis[j][k])然后枚举第i-1为位置上放置的物品就可以了#include<bits\stdc++.h>using namespace std;int a[150];int dp[150][150];int dis[150][150];int main(){ int T;scanf("%d",&T);while(T--){memset(dp,-1,sizeof(dp)); int n,m;scanf("%d%d",&n,&m);for (int i = 1;i<=m;i++)for(int j = 1;j<=m;j++) scanf("%d",&dis[i][j]);for (int i = 1;i<=n;i++)scanf("%d",&a[i]); if(a[1]!=-1)dp[1][a[1]]=0;elsefor(int j = 1;j<=m;j++)dp[1][j]=0;for (int i = 2;i<=n;i++){for(int j = 1;j<=m;j++){if(dp[i-1][j]!=-1){if(a[i]!=-1){dp[i][a[i]]=max(dp[i][a[i]],dp[i-1][j]+dis[j][a[i]]);}else{for(int k = 1;k<=m;k++)dp[i][k]=max(dp[i][k],dp[i-1][j]+dis[j][k]);}}}}int ans = -1e9;for(int i = 1;i<=m;i++)ans = max(ans,dp[n][i]);printf("%d\n",ans);}}
0 0
- HDU 5074-Hatsune Miku(DP)
- HDU 5074 Hatsune Miku(dp)
- hdu 5074 Hatsune Miku(dp)
- HDU 5074 Hatsune Miku (dp)
- HDU 5074 Hatsune Miku(暴力+DP)
- HDU 5074 Hatsune Miku(DP)
- HDU 5074 Hatsune Miku(DP)
- HDU 5074 Hatsune Miku(DP)
- hdu 5074 Hatsune Miku(dp)
- HDU 5074 Hatsune Miku DP
- hdu 5074 Hatsune Miku【DP】
- hdu Hatsune Miku(DP)
- [ACM] HDU 5074 Hatsune Miku (简单DP)
- HDU 5074 Hatsune Miku(简单二维dp)
- HDU 5074 Hatsune Miku (线性dp)
- HDU 5074 Hatsune Miku 暴力dp
- hdu 5074 Hatsune Miku 简单dp
- HDU 5074 Hatsune Miku 【dp思维】
- 在vs2013中如何实现opengl红宝书第八版的首个例子
- HTML基础大全
- 数据通信原理调制作用
- http post 请求数据格式选择
- 第1章 Web开发新时代
- HDU 5074 Hatsune Miku(DP)
- UE4之对象系统(0)
- iOS开发之基础视图—— UIPickerView
- Connection.setAutoCommit使用的注意事项
- C++ vector用法
- C++ 温习笔记(2) - extern,预处理命令#pragma,static
- leetcode_ Bulls and Cows
- CentOS yum 源的配置与使用
- CodeForces 608B Hamming Distance Sum