蓝桥杯国赛指南,详情见专栏

文章目录

  • Question
  • Ideas
  • Code

Question

一个商人穿过一个 N×N 的正方形的网格,去参加一个非常重要的商务活动。

他要从网格的左上角进,右下角出。

每穿越中间 1 个小方格,都要花费 1 个单位时间。

商人必须在 (2N−1) 个单位时间穿越出去。

而在经过中间的每个小方格时,都需要缴纳一定的费用。

这个商人期望在规定时间内用最少费用穿越出去。

请问至少需要多少费用?

注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。

输入格式
第一行是一个整数,表示正方形的宽度 N。

后面 N 行,每行 N 个不大于 100 的正整数,为网格上每个小方格的费用。

输出格式
输出一个整数,表示至少需要的费用。

数据范围
1≤N≤100
输入样例:
5
1 4 6 8 10
2 5 7 15 17
6 8 9 18 20
10 11 12 19 21
20 23 25 29 33
输出样例:
109
样例解释
样例中,最小值为 109=1+2+5+7+9+12+19+21+33。

Ideas

跟摘花生非常类似,不能走回头路,O(N^2)

Code

# 商人必须在 (2N−1) 个单位时间穿越出去。 不能走回头路
# N <=100 用动态规划
N = 110
w = [0]
f = [[0 for i in range(N)] for j in range(N)]n = int(input())
for i in range(n):w.append([0]+list(map(int,input().strip().split())))# 求最小值,边缘初始化要变为最大值
for i in range(N):f[0][i] = float('inf')f[i][0] = f[0][i] = float('inf')f[1][1] = w[1][1]for i in range(1,n+1):for j in range(1,n+1):if i==1 and j==1 :continuef[i][j] = min(f[i-1][j],f[i][j-1]) + w[i][j]
print(f[n][n])

1018. 最低通行费(线性DP)相关推荐

  1. AcWing 1018. 最低通行费【动态规划】【线性DP】【数字三角形】

    AcWing 1018. 最低通行费 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 四.其它题解 一.题目链接 AcWing 1018. 最低通行费 二.题目分析 (一)算 ...

  2. [AcWing] 1018. 最低通行费(C++实现)数字三角形模型

    [AcWing] 1018. 最低通行费(C++实现)数字三角形模型 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 ...

  3. 1018. 最低通行费

    一个商人穿过一个 N×N 的正方形的网格,去参加一个非常重要的商务活动. 他要从网格的左上角进,右下角出. 每穿越中间 1 个小方格,都要花费 1 个单位时间. 商人必须在 (2N−1)个单位时间穿越 ...

  4. 【acwing】1018. 最低通行费*

    穿越隧道 开始被四个方向蒙蔽了,采取了在四个方向上来取最小值.就会存在问题:第一行中的元素都是上下两行后进行的结果. 从第二行开始,第二行中每个元素的四个方向,即取1~3行的最小.但第一行的元素已经改 ...

  5. 动态规划 —— 线性 DP

    [概述] 线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题.区间DP等有固定的模板. 线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式 ...

  6. 一本通 1287:最低通行费 C++

    这题我们用递推(其实就是非常弱鸡的动态规划)做 上代码: //最低通行费 #include <iostream>using namespace std;const int N = 105; ...

  7. 信息学奥赛一本通 1287:最低通行费 | OpenJudge NOI 2.6 7614:最低通行费

    [题目链接] ybt 1287:最低通行费 OpenJudge NOI 2.6 7614:最低通行费 [题目考点] 1. 动态规划:坐标型动规 [解题思路] 解法1:坐标型动规 限定商人必须在2N-1 ...

  8. 0x51.动态规划 - 线性DP(习题详解 × 10)

    目录 0x51.动态规划 - 线性DP 0x51.1 LIS问题 Problem A. 登山 (最长下降子序列) Problem B. 友好城市(思维) Problem C. 最大上升子序列和 0x5 ...

  9. UVA11584 划分成回文串 Partitioning by Palindromes(线性DP划分+DP判断回文串)

    整理的算法模板合集: ACM模板 依旧是线性DP 我们使用闫氏DP分析法 总体DP转移的时间复杂度为O(n2)O(n^2)O(n2). 但是这里牵扯到判断 i\tt ii 到 j\tt jj 是否为回 ...

最新文章

  1. Qt学习笔记之常用控件QlistWidget
  2. php概率计算_php 抽奖概率算法
  3. TranslateMessage ,GetMessage, DispatchMessage分析
  4. esp32的GPIO操作
  5. python使用opencv_教你快速使用OpenCV/Python/dlib進行眨眼檢測識別!
  6. 【Transformer】CLS(classification)有什么用?
  7. PyTorch 1.0 中文官方教程:聊天机器人教程
  8. linux 打印当前系统环境_Linux系统下搭建python环境
  9. stm32PWM输入捕获模式详解
  10. leetcode经典题 刷题题解 python版
  11. Hadoop 各组件介绍
  12. abaqus算出来的转角单位是什么_ABAQUS统一单位方法
  13. [附源码]计算机毕业设计JAVAJAVA大方汽车租赁管理系统
  14. 荣耀8 google play store 安装程序
  15. MATLAB的clear和clc用法
  16. Devc++使用及debug超详解
  17. 安徽师范大学计算机学院在哪个校区,2021年安徽师范大学有几个校区,大一新生在哪个校区...
  18. 2021年安徽省大数据与人工智能应用竞赛 大数据-本科组赛题(省赛)
  19. moment获取本月、上个月、近三个月时间段
  20. AE 打开各种格式文件

热门文章

  1. 笨方法学Python3 习题2
  2. 基于体素的3D目标检测网络:VoxelNet
  3. 协方差公式性质证明过程_期望、方差、协方差及相关系数的基本运算
  4. 金万维快解析远程服务,助力企业客户维护
  5. 数据库学习笔记 --- 术语 Scale up 与 Scale out 区别
  6. www.cqyc.com:8888 10116 - 像素
  7. windows虚拟机_[安装实录]如何在 Vmware虚拟机中安装 macOS Mojave -- Windows 版
  8. 计算机导论刘云翔,我心目中的好老师 | 计算机科学与信息工程学院 刘云翔:爱岗敬业为人师表...
  9. css hover选择器 悬停时显示隐藏的内容
  10. <Halcon>分割粘连区域(分水岭算法)