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> ...
随机推荐
- java 解析四则混合运算表达式并计算结果
package ch8; import java.util.LinkedList; import java.util.List; import java.util.Stack; /** * 四则混合运 ...
- 经典算法mark
在平时找工作的时候,或多或少会遇到一些算法问题,很多都是比较经典或者网上已经流传很久的.只是我们没有接触过,所以不知道怎么解决. 在这儿,我自己总结一些我遇到的一些经典算法,给自己增加一点记忆,也给需 ...
- PHP常量和数据类型考察点
PHP 常量 常量是单个值的标识符(名称).在脚本中无法改变该值. 有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号). 注释:与变量不同,常量贯穿整个脚本是自动全局的. PHP常量的两种定 ...
- 面试必备【含答案】Java面试题系列(二
1.写clone()方法时,通常都有一行代码,是什么?答:super.clone(),他负责产生正确大小的空间,并逐位复制. 2.GC 是什么? 为什么要有GC?答:GC 是垃圾收集的意思(Gabag ...
- 解决android的键盘弹出时,html页面的高度被压缩
如果元素的高度是用100%表示,那么,安卓的键盘弹出时,高度会发生变化,导致布局混乱,所以最好给高度设置像素高度 $("html,body").height(window.inne ...
- D. Gourmet choice并查集,拓扑结构
D. Gourmet choice time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- vue工程化之项目引入jquery
既然写项目,那么少不了用jq,那我们就引入进来吧 1.因为已经安装了vue脚手架,所以需要在webpack中全局引入jquery 打开package.json文件,在里面加入这行代码,jquery后面 ...
- JavaSE-15 Log4j参数详解
一:日志记录器输出级别,共有5级(从前往后的顺序排列) ①fatel:指出严重的错误事件将会导致应用程序的退出 ②error:指出虽然发生错误事件,但仍然不影响系统的继续运行 ③warn:表明会出现潜 ...
- Log.d 日志调试查看(所有平台)
https://www.cnblogs.com/onechen/p/6436748.html http://docwiki.embarcadero.com/Libraries/Berlin/en/FM ...
- 简单说一下Set,list,Map的类型和自己的特点
首先是Set,List,Map Set和list都是继承了Conllection接口,而Map是本身就是一个接口 set是最简单的一种集合,没有重复对象 set接口主要有两个实现: 1,hashSet ...