描述

这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏,伴随着这个传说的是一个迷题:最瑰丽的舞者将达至精灵世界的彼岸……
经过仔细推敲,雷曼兔发现这是一个提示宝藏埋藏位置的谜语,在该谜语中指出了一个特定的路径,只有经过了该路径宝藏才会出现,具体情况如下:
OI山的地势图可以看作一个N*N的数字矩阵,由1-N^2的数字组成(每个数字出现且仅出现一次),这些数字表示每个地点的地势高低。雷曼兔的出发点在最高的山顶处,并且每次雷曼兔可以从其当前所在的位置跳跃到任何一个比当前地点高度低的位置,假设雷曼兔该次跳跃从坐标(x1,y1)跳到了坐标(x2,y2),则这次跳跃的华丽度定义为v=(|x1-x2|+|y1-y2|)^2。而开启宝藏秘密的路径就是从山顶不断跳跃直到山底(高度最低点)的华丽度总和最高的路径,而现在我们想要知道的是这个最高的华丽度总和是多少

格式

输入格式

第一行包括一个整数n(n<=50)表示地图的长宽。

接下来n行每行包括n个数表示每个地点的高度。

输出格式

输出包括一个整数ans,表示从山顶到山底最高华丽度总和

样例1

样例输入1[复制]

2
3 2
1 4

样例输出1[复制]

9

提示

最优路径为4->3->2->1,得分为4+1+4=9。

思路:因为个N*N的数字矩阵,由1-N^2的数字组成(每个数字出现且仅出现一次),所以用一个二维数组一边读入数据一边把数据的值,横坐标,纵坐标保存下来。

dp[i]表示从i层到最底层的最大华丽度总和,先初始化为从i层直接到1层的华丽度。然后DP一下就能求得最大的dp[i]了。因为跳跃的华丽度定义为v=(|x1-x2|+|y1-y2|)^2,所以数值总是大于等于0的。因此dp[n*n]必然是最大的。

动态转移方程:dp[i]=max{dp[j]+v} (v为从i层跳到j层的华丽度,其中i>j)

#include<iostream>
#include<cmath>
using namespace std;
int s[2700][3], dp[2700];
int ABS(int i, int j)
{
return (abs(s[i][1] - s[j][1]) + abs(s[i][2] - s[j][2]))*(abs(s[i][1] - s[j][1]) + abs(s[i][2] - s[j][2]));
}
int main()
{
int n;
while (cin >> n)
{
int num;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
cin >> num;
s[num][0] = num;
s[num][1] = i;
s[num][2] = j;
}
}
for (int i = n*n; i > 0; i--)
{
dp[i] = ABS(i, 1);
}
for (int i = 2; i <= n*n; i++)
{
int max = dp[i];
for (int j = 1; j < i; j++)
{
if (max < dp[j] + ABS(i, j))
{
max = dp[j] + ABS(i, j);
}
}
dp[i] = max;
}
cout << dp[n*n] << endl;
}
return 0;
}

Vijos P1474雷曼兔(csapc)相关推荐

  1. 雷曼兔(csapc)

    这里算不上dp吧.直接输入设置就能行了. P1474雷曼兔(csapc) 未递交 标签:动态规划 LIScsapc 描述 这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏 ...

  2. VIJOS-P1474 雷曼兔(csapc)

    JDOJ 1532: VIJOS-P1474 雷曼兔(csapc) https://neooj.com/oldoj/problem.php?id=1532 Description 这次,OI山成为了雷 ...

  3. Vijos 雷曼兔(csapc)

    描述 这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏,伴随着这个传说的是一个迷题:最瑰丽的舞者将达至精灵世界的彼岸-- 经过仔细推敲,雷曼兔发现这是一个提示宝藏埋藏位置 ...

  4. [vijos1474] 雷曼兔(csapc)

    题目描述 这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏,伴随着这个传说的是一个迷题:最瑰丽的舞者将达至精灵世界的彼岸-- 经过仔细推敲,雷曼兔发现这是一个提示宝藏埋藏 ...

  5. BSOJ2909 Vijos 1474 南邮OJ1573 雷曼兔

    2909 -- [模拟试题]雷曼兔 Description 这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏,伴随着这个传说的是一个迷题:最瑰丽的舞者将达至精灵世界的彼岸 ...

  6. 南邮 OJ 1573 雷曼兔

    雷曼兔 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 40            测试通过 : 12 比赛描 ...

  7. BSOJ:2909 雷曼兔 DP

    2909 -- [模拟试题]雷曼兔 Description 这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏,伴随着这个传说的是一个迷题:最瑰丽的舞者将达至精灵世界的彼岸 ...

  8. VJ 1474 雷曼兔

    描述 这次,OI山成为了雷曼兔那无尽的冒险传说的新舞台!传说OI山中埋藏着巨大的宝藏,伴随着这个传说的是一个迷题:最瑰丽的舞者将达至精灵世界的彼岸-- 经过仔细推敲,雷曼兔发现这是一个提示宝藏埋藏位置 ...

  9. 雷曼兔(vijos1474)

    算法:DP 数据中的每个数竟然都是连续且不重复的,这一点遗漏了,导致想到了很复杂的算法,复杂到连我自己都不知道怎么做了-- program vijos1474; const maxn=2500; va ...

最新文章

  1. HTML5绝对定位图片合成,HTML5 绝对定位的问题
  2. Nginx 出现504 Gateway Time-out的解决方法
  3. maven pom java版本_Maven更新POM中的JDK版本(比如更新为JDK1.8)
  4. php框架中什么是渲染,thinkPHP5框架渲染模板的3种方式简述
  5. what does fullScreenPageRoutes in SAP UI5 mean
  6. php content-type: multipart/mixed,{error:invalid multipart format} 这是什么原因,我已经在HEADER中设置了Content-...
  7. 什么集成mysql_mysql集成部署
  8. 你想要的宏基因组-微生物组知识全在这(2022.8)
  9. leetcode 剑指 Offer 12. 矩阵中的路径
  10. WebDAV之葫芦儿·派盘+Solid Explorer = 全能 Android 文件管理器
  11. Java复习 day_01
  12. m6A去甲基化酶激活/抑制检测试剂盒实验原理
  13. [单片机框架][bsp层][AT32F415][bsp_gpio] GPIO配置和使用
  14. 渗透测试-弱点扫描工具
  15. 小胖机器人宣传语_智能机器人推广宣传语
  16. [失败] 网易云音乐爬虫分析
  17. java雪花_Java实现雪花算法(snowflake)
  18. 拯救非洲的粮食危机,机器学习做了这些!
  19. 蓝桥杯BASIC-3--字母图形题
  20. 传奇GOM引擎——添加装备内观特效

热门文章

  1. java se项目实战视频_项目整体测试_09-JAVASE项目实战-电影管理系统_Java视频-51CTO学院...
  2. 1834 单线程 CPU
  3. java app支付_java实现微信App支付
  4. 根据多个地点的经纬度求计算中心点经纬度
  5. 现在计算机网络中广泛使用的交换技术
  6. 【转】PHP CURL 教学
  7. 爬虫练手——求一个网页中所有数字之和!(题网:http://www.glidedsky.com/)
  8. RTTHREAD 软件包目录(实时更新)
  9. 从零开始的计网学习——物理层
  10. 加密的惨剧!慎用市面上的文件夹加密软件