题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5074

题目大意是给你m个note,n个数,得分是v[a[i]][a[i+1]]的总和,如果说a[i]是负数的话代表可以放人一个note,否则就只能放他给的note号。

问:最大的得分是多少?

我先写了记忆化搜索函数

dp(i,j)代表到第i个位置,放标号为j的note

那么

如果说a[i+1]<0,那么dp(i,j) = max( dp(i,j) , dp(i+1,k)+v[j][k] );

否则dp(i,j) = dp(i+1,a[i+1]) + v[j][a[i+1]];

然后改成递推呗~

 #include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std; int T,n,m;
int v[][];
int dp[][];
int a[]; int main(){
scanf("%d",&T);
while(T--){
memset(v,,sizeof(v));
memset(dp,,sizeof(dp));
memset(a,,sizeof(a));
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++){
for(int j=;j<=m;j++){
scanf("%d",&v[i][j]);
}
}
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
}
for(int i=n-;i>=;i--){
for(int j=;j<=m;j++){
if( a[i+]< ){
for(int k=;k<=m;k++){
dp[i][j] = max(dp[i][j],dp[i+][k]+v[j][k]);
}
} else {
dp[i][j] = v[j][a[i+]]+dp[i+][a[i+]];
}
}
}
printf("%d\n",dp[][]);
}
}

[HDU 5074] Hatsune Miku (动态规划)的更多相关文章

  1. dp --- 2014 Asia AnShan Regional Contest --- HDU 5074 Hatsune Miku

    Hatsune Miku Problem's Link:   http://acm.hdu.edu.cn/showproblem.php?pid=5074 Mean: 有m种音符(note),现在要从 ...

  2. HDU 5074 Hatsune Miku(DP)

    Problem Description Hatsune Miku is a popular virtual singer. It is very popular in both Japan and C ...

  3. hdu 5074 Hatsune Miku DP题目

    题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=5074 $dp[i][j] =$ 表示数列前$i$个数以$j$结尾的最大分数 $dp[i][j] = - ...

  4. HDU 5074 Hatsune Miku(2014鞍山赛区现场赛E题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5074 解题报告:给出一个长度为n的序列,例如a1,a2,a3,a4......an,然后这个序列的美丽 ...

  5. hdu 5074 Hatsune Miku

    http://acm.hdu.edu.cn/showproblem.php?pid=5074 题意:给你一个的矩阵score[i][j],然后给你一个数列,数列中有一些是-1,代表这个数可以换成1~m ...

  6. hdu - 5074 Hatsune Miku (简单dp)

    有m种不同的句子要组成一首n个句子的歌,每首歌都有一个美丽值,美丽值是由相邻的句子种类决定的,给出m*m的矩阵map[i][j]表示第i种句子和第j种句子的最大得分,一首歌的美丽值是由sum(map[ ...

  7. HDU 5074 Hatsune Miku 2014 Asia AnShan Regional Contest dp(水

    简单dp #include <stdio.h> #include <cstring> #include <iostream> #include <map> ...

  8. hdu FatMouse's Speed 动态规划DP

    动态规划的解决方法是找到动态转移方程. 题目地址:http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=3&sectionid ...

  9. HDU 2059 龟兔赛跑(动态规划)

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

随机推荐

  1. DBA常用SQL之DDL生成语句

    获取对象定义的包为:dbms_metadata,其中的get_ddl函数是获取对象的函数 GET_DDL函数返回创建对象的原数据的DDL语句,参数说明 .object_type ---需要返回原数据的 ...

  2. linux 命令之系统活动报告sar

    打开自己的CentOS,敲入“sar”,表示很失望: [root@localhost ~]# sar bash: sar: command not found 竟然没有安装,不过还好linux下安装还 ...

  3. RESRful API 和 HTTP状态码

    一.RESRful API: GET(SELECT):从服务器取出资源(一项或多项). POST(CREATE):在服务器新建一个资源. PUT(UPDATE):在服务器更新资源(客户端提供改变后的完 ...

  4. 通信原理读书笔记:常规AM调制的功率

    Proakis,通信系统原理,p101: 两个不同频率正弦和的功率为其功率的和. 计算功率时,和的平方展开后会出现两个正弦乘积项,按积化和差展开后在公共周期内积分为零.

  5. Python控制流语句(if,while,for)

    if.py number=23 guess=int(input("enter an int:")) if guess==number: print ("congratul ...

  6. 报错:org.apache.jasper.JasperException: /index.jsp (line: 1, column: 17) equal symbol expected

    现象:写了如下一个jsp文件,导入需要用到的两个包: 运行结果报错:org.apache.jasper.JasperException: /index.jsp (line: 1, column: 17 ...

  7. 36. Valid Sudoku

    ============= Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku b ...

  8. Css3_写出小广播样子

    /* create an arrow that points up */ div.arrow-up { width:0px; height:0px; border-left:5px solid tra ...

  9. ajax实现--技术细节详解

    ajax原理和XmlHttpRequest对象 Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面.这其 ...

  10. python 虎扑注册检查脚本

    ulipad,看着蛮舒服的. 图里的代码就是今天晚上的成果. 突然就想看看python这个被很多人说是优雅的语言,于是晚上没事就配了配环境,做了个东西 #encoding: utf-8 import ...