背景

顺治帝福临,是清朝入关后的第一位皇帝。他是皇太极的第九子,生于崇德三年(1638)崇德八年八月二ten+six日在沈阳即位,改元顺治,在位18年。卒于顺治十八年(1661),终24岁。
顺治即位后,由叔父多尔衮辅政。顺治七年,多尔衮出塞射猎,死于塞外。14岁的福临提前亲政。顺治帝天资聪颖,读书勤奋,他吸收先进的汉文化,审时度势,对成法祖制有所更张,且不顾满洲亲贵大臣的反对,倚重汉官。为了使新兴的统治基业长治久安,他以明之兴亡为借鉴,警惕宦官朋党为祸,重视整饬吏治,注意与民休息,取之有节。但他少年气盛,刚愎自用,急噪易怒,当他宠爱的董妃去世后,转而消极厌世,终于匆匆走完短暂的人生历程,英年早逝。他是清朝历史上唯一公开归依禅门的皇帝。

描述

顺治喜欢滑雪,这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待太监们来载你。顺治想知道载一个区域中最长的滑坡。
区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
顺治可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-…-3-2-1更长。事实上,这是最长的一条。

格式 输入格式

输入的第一行表示区域的行数R和列数C(1 <= R,C <= 500)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。

输出格式

输出最长区域的长度。

样例1 样例输入1[复制]

5 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

样例输出1[复制]

25

限制

各个测试点2s

题解

直接DFS会超时, 所以采用记忆化DFS, reclen数组记录DFS到某一点时走过的路程, 当某次DFS小于等于这个记录时, 就不再往下DFS了

import java.util.Scanner;public class Main {static int r, c, maxLen;static long[][] a = new long[500 + 100][500 + 100];static int[][] dir = { {1, 0}, {-1, 0}, {0, 1}, {0, -1} };static int[][] recLen = new int[500 + 100][500 + 100];public static void main(String[] args) {Scanner sc = new Scanner(System.in);c = sc.nextInt();r = sc.nextInt();for (int i = 1; i <= c; ++i) {for (int j = 1; j <= r; ++j) {a[i][j] = sc.nextLong();}}maxLen = 0;for (int i = 1; i <= c; ++i) {for (int j = 1; j <= r; ++j) {Dfs(i, j, 1);}}System.out.println(maxLen);}static void Dfs(int x, int y, int len) {if (len <= recLen[x][y]) return;recLen[x][y] = len;for (int i = 0; i < 4; ++i) {int nextX = x + dir[i][0];int nextY = y + dir[i][1];if (nextX < 1 || nextX > c || nextY < 1 || nextY > r || a[nextX][nextY] <= a[x][y]) {continue;}Dfs(nextX, nextY, len + 1);}if (maxLen < len) {maxLen = len;}}}

vijos 1011 清帝之惑之顺治 (记忆化搜索)相关推荐

  1. P1011清帝之惑之顺治

    背景 顺治帝福临,是清朝入关后的第一位皇帝.他是皇太极的第九子,生于崇德三年(1638)崇德八年八月二ten+six日在沈阳即位,改元顺治,在位18年.卒于顺治十八年(1661),终24岁. 顺治即位 ...

  2. vijos P1009清帝之惑之康熙

    </pre>背景康熙是中国历史乃至世界历史中最伟大的帝王之一,清除螯拜,撤除三藩,统一台湾,平定准葛尔叛乱:与此同时,出众的他也被世界各国遣清使臣所折服.康熙是历史上少有的全人,不仅文武兼 ...

  3. vijos P1009 清帝之惑之康熙

    用扩展欧几里得算法求解线性同余方程就可以了,要注意求出来的应该是最小非负数. 等价于求方程k(m-n)与(y-x)关于l同余,k为非负整数的解  方程:  k*(m-n)-ld=y-x  若y-x不是 ...

  4. Vijos 1010 清帝之惑之乾隆

    背景 乾隆,雍正的第四子,在位60年,退位后又当了三年太上皇,终年89岁. 乾隆即位之初,实行宽猛互济的政策,务实足国,重视农桑,停止捐纳,平定叛乱等一系列活动中,充分体现了他的文治武功,乾隆帝向慕风 ...

  5. [Vijos1009] 清帝之惑之康熙

    题目背景 康熙是中国历史乃至世界历史中最伟大的帝王之一,清除螯拜,撤除三藩,统一台湾,平定准葛尔叛乱:与此同时,出众的他也被世界各国遣清使臣所折服.康熙是历史上少有的全人,不仅文武兼得,而且在各各方面 ...

  6. 清亡之路(9):南北谈判和清帝退位

    解决了滦洲兵变之后,袁世凯更关心如何对付武昌的"叛军",以及相继独立的南方数十省,甚至还有北方数省.袁世凯明白,北洋新军再厉害,可能也打不过这么多省. 黎元洪为代表的南方认为,如果 ...

  7. exgcd-清帝之惑之康熙

    https://vijos.org/p/1009 这个exgcd我 复制 推一遍 对于ax+by=c 我们先算ax+by=(a,b) (这个是最大公约数) 然后把解乘上c/(a,b)即可: 所以显然当 ...

  8. 一图讲清:如何将招聘管理流程化,让HR从重复工作中解放出来

    小A是上海某家科技初创公司负责招聘管理的HR,帮公司每个岗位挖掘到合适的人才是她每天的工作内容.但随着公司从5个人.20个人,到现在的100多人,招聘任务越来越多,招聘流程也变得复杂起来,仅凭她人工整 ...

  9. 1986暑假济南清北学堂腾飞营摸鱼记

    注:1986 means 2019-08-06 2019-08-04 Day-1 上午下午一起在机房颓的第三天 JYF下午查作业从三点多到五点多QwQ是真的强 当他只看了英语作业的时候说:" ...

最新文章

  1. SOFAMosn配置模型
  2. 学python语言用什么软件-只会用 Python 的程序员应该学什么语言?
  3. ◆[转]瓶子生日密码之2月2日
  4. 网络设备配置与管理--使用VTP实现扩展VLAN配置
  5. android 自动更新 服务端,搭建android版本更新服务器使用android系统自带的DownloadManager下载文件...
  6. rfid在高速公路管理中的应用_RFID技术与ETC技术在弱电门禁系统中应用
  7. 如何设计安全的用户登录功能
  8. 【转】RocketMQ的一些特性(生产者消费者配置参数的含义)
  9. python3 https_python3安装,支持openssl,支持采集https
  10. VScode编辑器设置中文界面教程
  11. anime.js 图片位移动画_打造高大上的Canvas粒子动画
  12. android 原理 组合控件_Android自定义控件之组合控件
  13. 网页设计心得HTML心得体会3000,网页制作的心得体会
  14. 【Anychart】自动保存flash图片到指定目录下。
  15. 腾讯云图(TCV)使用指南
  16. Python的学习笔记案例4--52周存钱挑战2.0
  17. MSI微星主板MSI Dual CoreCenter监控软件 2.0.1.5
  18. 数字IC设计工程师职业发展规划是什么样的?
  19. python 模拟触屏电脑操作_如何在硒中模拟触摸屏?
  20. rust月球服务器名字_月亮的十大未解之谜

热门文章

  1. 通过Excel快捷生成折线图
  2. 基于Mask的语音分离
  3. 手把手教你搭建ELK,原来这么简单
  4. STM32F103VET6实现全彩LED灯
  5. Dynamics CRM用户登录失败 - ADFS认证不通过 之 不是有效的 Win32 FileTime
  6. 魅族公布苏宁818战报:魅蓝3s斩获单品销量冠军
  7. ResourceWarning: unclosed socket.socket fd=708, family=Addr
  8. 使用redis 实现分布式锁,处理并发问题
  9. 0.96寸_OLED_屏幕_SSD1306_IIC通信_入门教程_指令详解_驱动介绍_笔记分享_初学者易懂
  10. Delaunay三角剖分算法初探