HDU 5074 Hatsune Miku 2014 Asia AnShan Regional Contest dp(水
简单dp
#include <stdio.h>
#include <cstring>
#include <iostream>
#include <map>
using namespace std;
typedef unsigned long long ull;
const int N = 105;
int n, m, a[N];
int s[N][N], dp[2][N];
void pt(int x ){
for(int i = 1; i <= m; i++)printf("%d ", dp[x][i]); puts("");
}
int solve(){
int cur = 0;
if(a[1] < 0)
memset(dp[cur], 0, sizeof dp[cur]);
else
{
memset(dp[cur], -1, sizeof dp[cur]);
dp[cur][a[1]] = 0;
}
for(int i = 2; i <= n; i++)
{
cur ^= 1;
memset(dp[cur], -1, sizeof dp[cur]);
if(a[i]>0)
{
for(int j = 1; j <= m; j++)
if(dp[cur^1][j] != -1)
dp[cur][a[i]] = max(dp[cur][a[i]], dp[cur^1][j] + s[j][a[i]]);
}
else
{
for(int j = 1; j <= m; j++)
if(dp[cur^1][j]!=-1)
for(int k = 1; k <= m; k++)
dp[cur][k] = max(dp[cur][k], dp[cur^1][j]+s[j][k]);
}
// cout<<i<<":"; pt(cur);
}
int ans = 0;
for(int i = 1; i <= m; i++)
ans = max(ans, dp[cur][i]);
return ans;
}
void input(){
cin>>n >> m;
for(int i = 1; i <= m; i++)
for(int j = 1; j <= m; j++)
scanf("%d", &s[i][j]);
for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
}
int main(){
int T; cin>>T;
while(T--){
input();
cout<<solve()<<endl;
}
return 0;
}
/*
9
3 3
1 1 5
5 1 100
1 5 1
-1 -1 -1 */
HDU 5074 Hatsune Miku 2014 Asia AnShan Regional Contest dp(水的更多相关文章
- 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),现在要从 ...
- HDU 5074 Hatsune Miku(2014鞍山赛区现场赛E题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5074 解题报告:给出一个长度为n的序列,例如a1,a2,a3,a4......an,然后这个序列的美丽 ...
- 2014 Asia AnShan Regional Contest --- HDU 5073 Galaxy
Galaxy Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5073 Mean: 在一条数轴上,有n颗卫星,现在你可以改变k颗 ...
- 2014 Asia AnShan Regional Contest --- HDU 5078 Osu!
Osu! Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5078 Mean: 略. analyse: 签到题,直接扫一遍就得答 ...
- HDU 5073 Galaxy 2014 Asia AnShan Regional Contest 规律题
推公式 #include <cstdio> #include <cmath> #include <iomanip> #include <iostream> ...
- hdu5071 2014 Asia AnShan Regional Contest B Chat
模拟题: add的时候出现过的则不再添加 close的时候会影响到top rotate(Prior.Choose)的时候会影响到top /*============================== ...
- hdu5072 2014 Asia AnShan Regional Contest C Coprime
最后一次参加亚洲区…… 题意:给出n(3 ≤ n ≤ 105)个数字,每个数ai满足1 ≤ ai ≤ 105,求有多少对(a,b,c)满足[(a, b) = (b, c) = (a, c) = 1] ...
- hdu oj 3127 WHUgirls(2009 Asia Wuhan Regional Contest Online)
WHUgirls Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total ...
- 2014 ACM-ICPC Asia Anshan Regional Contest(Online Version)
题目I - Osu! - HDU 5078 题目分析:最水的一道题吧,求两点间的距离和时间差值的最大比值 #include<stdio.h> #include<math.h> ...
随机推荐
- 动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据
动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据:由存储过程决定,如果编写的存储过程可以生成需要呈现的表格则直接绑定,否则要动态生成表格
- Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)
1. Android的四大组件: (1)Activity 用户交互的UI界面 (2)Service 后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...
- 使用Latex插入数学公式(二)
初级运算 关系运算符 希腊字母 集合运算符逻辑运算符 空格问题 矩阵格式 矩阵格式有三种: 无括号的矩阵 matrix 是 Latex 的矩阵命令,矩阵命令中每一行以 \\ 结束,矩阵的元素之间用 & ...
- 解决【npm ERR! Unexpected end of JSON input while parsing near '...sh_time":141072930277'】方案
问题描述执行npm install的时候报错npm ERR! Unexpected end of JSON input while parsing near '...sh_time":141 ...
- 10C++类和对象
类和对象 8.1 面向对象程序设计方法概述 到目前为止,我们介绍的是C++在面向过程的程序设计中的应用.对于规模比较小的程序,编程者可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其 ...
- IIS启用32位应用程序兼容
针对服务器出现html和jsp页面都可以应用,但唯独asp页面打不开的一种情况 win7的IIS运行在32状态下,原因是ASP程序必须在32位下才能使用ACCESS 设置办法: 打开IIS管理器,点应 ...
- 使用Java(Jedis)链接redis报java.net.ConnectException: Connection refused: connect的错误
redis环境:centos6 java代码运行环境:windows 第一种情况:未开启redis服务. redis-server /myredis/redis.conf (写你的redis配置文件的 ...
- Sql语句的一些事(二)
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--group by--having--select--order by, from:需要从哪个数据表检索数据 wh ...
- 零基础入门学习Python(8)--了不起的分支和循环2
前言 上节课小甲鱼教大家如何正确的打飞机,其要点是判断和循环,判断就是该不该做某事,循环就是持续做某事 知识点 写一个程序 按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下 ...
- 80-Force Index,强力指标.(2015.7.1)
Force Index 强力指标 Index,强力指标.(2015.7.1)" title="80-Force Index,强力指标.(2015.7.1)"> 观井 ...