HDU 5074 Hatsune Miku(2014鞍山赛区现场赛E题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5074
解题报告:给出一个长度为n的序列,例如a1,a2,a3,a4......an,然后这个序列的美丽值就是socre[a1][a2] + socre[a2][a3] + ..... socre[an-1][an],但是这个序列里面并不是所有的数都是确定的,输入包含一些大于0的数和一些-1,-1表示这个数可以任意,但是要在m的范围内,给出socre[i][j],求这个序列最大的美丽值.
一个二维dp,dp[i][j] 的意义就是当第i个数是j的时候的前i个数的美丽值是dp[i][j],然后递推公式如下:
dp[i][j] = max(dp[i][j],dp[i-1][k] + socre[k][j]);
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std; int T,n,m;
int value[][],note[],dp[][];
int main()
{
// freopen("in","r",stdin);
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
for(int i = ;i <= m;++i)
for(int j =;j <= m;++j)
scanf("%d",&value[i][j]);
for(int i = ;i <= n;++i)
scanf("%d",¬e[i]);
memset(dp,,sizeof(dp));
for(int i = ;i <= n;++i)
{
if(note[i] == -)
{
for(int j = ;j <= m;++j)
{
if(note[i-] == -)
for(int k = ;k <= m;++k)
dp[i][j] = max(dp[i][j],dp[i-][k] + value[k][j]);
else dp[i][j] = max(dp[i][j],dp[i-][note[i-]] + value[note[i-]][j]);
}
}
else
{
if(note[i-] == -)
for(int k = ;k <= m;++k)
dp[i][note[i]] = max(dp[i][note[i]],dp[i-][k] + value[k][note[i]]);
else dp[i][note[i]] = max(dp[i][note[i]],dp[i-][note[i-]] + value[note[i-]][note[i]]);
}
}
int ans = ;
for(int i = ;i <= m;++i)
ans = max(ans,dp[n][i]);
printf("%d\n",ans);
}
return ;
}
HDU 5074 Hatsune Miku(2014鞍山赛区现场赛E题)的更多相关文章
- HDU 5073 Galaxy(2014鞍山赛区现场赛D题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5073 解题报告:在一条直线上有n颗星星,一开始这n颗星星绕着重心转,现在我们可以把其中的任意k颗星星移 ...
- HDU 5071 Chat(2014鞍山赛区现场赛B题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5071 解题报告:一个管理聊天窗口的程序,一共有八种操作,然后要注意的就是Top操作只是把编号为u的窗口 ...
- HDU 5074 Hatsune Miku 2014 Asia AnShan Regional Contest dp(水
简单dp #include <stdio.h> #include <cstring> #include <iostream> #include <map> ...
- HDU 5128 The E-pang Palace(2014广州赛区现场赛B题 计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5128 解题报告:在一个平面上给出n个点的坐标,用这n个点作为矩形的四个顶点,作两个矩形,要求两个矩形不 ...
- HDU 5120 A Curious Matt(2014北京赛区现场赛A题 简单模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5112 解题报告:扫一遍 #include<cstdio> #include<cstr ...
- HDU 5120 Intersection(2014北京赛区现场赛I题 计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5120 解题报告:给你两个完全相同的圆环,要你求这两个圆环相交的部分面积是多少? 题意看了好久没懂.圆环 ...
- 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),现在要从 ...
- 2014 ACM/ICPC 鞍山赛区现场赛 D&I 解题报告
鞍山现场赛结束了呢-- 我们出的是D+E+I三道题-- 吾辈AC掉的是D和I两道,趁着还记得.先在这里写一写我写的两道水题D&I的解题报告吧^_^. D题的意思呢是说星云内有一堆排成一条直线的 ...
- hdu 5074 Hatsune Miku DP题目
题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=5074 $dp[i][j] =$ 表示数列前$i$个数以$j$结尾的最大分数 $dp[i][j] = - ...
随机推荐
- JS-鼠标经过显示二级菜单
在css处添加了border样式为了看得更清楚——源代码有一个程序漏洞,存在一个很烦人的大bug. <ul class="nav"> <li class=&quo ...
- myeclipse+tomcat内存溢出
- 日志分析 第五章 安装logstash
logstash是java应用,依赖JDK,首先需要安装JDK,在安装jdk过程中,logstash-2.3.4使用JDK-1.7版本有bug,使用JDK-1.8版本正常,因此我们安装JDK-1.8版 ...
- Apache 使用localhost(127.0.0.1)可以访问 但是使用本机IP(局域网)不能访问
- SVN服务器配置说明
1.前 言 花了72小时,终于把 Subversion 初步掌握了.从一个连“什么是版本控制”都不知道的门外汉,到配置出精确至每目录访问的入门者,中间还卡了一天时间.其中费了许多气力,摸索实验了多次, ...
- re正则表达式7_{}
curly brackets {} instead of one number, you can specify a range by writing a minimum,a comma,and a ...
- ubuntu下怎么解决python "Non-ASCII character"错误
解决方法:源代码文件第一行添加:#coding:utf-8 参考: http://jingyan.baidu.com/album/219f4bf7d04887de442d3899.html?pici ...
- Python学习笔记——基本语法
1.程序输出——print语句 >>> myString = 'Hello World!' >>> print myString Hello World! > ...
- Ubuntu 设置程序开机启动(以指定用户身份)
一.方法 在/etc/rc.local写程序的启动命令(系统执行内核过程中会启动init进程,该进程把当前runlevel所对应的的所有service 都启动后,才会执行rc.local里的命令),程 ...
- jquery mobile 图片自适应问题
解决办法: 加入一段css <link rel="stylesheet" href="http://jquerymobile.com/demos/1.1.0/doc ...