CSP 真题解析:[CSP-J 2020-T4] 方格取数
📅 2026/7/10 1:07:21
👁️ 次浏览
[CSP-J 2020-T4] 方格取数摘要本文解析 CSP‑J 2020 第四题「方格取数」的解题思路采用三维动态规划分别记录向上、向下、向右三个方向处理小熊从左上走到右下取数之和的最大值包含状态定义、边界初始化与转移方程并附 C 实现代码。题目描述设有n × m n \times mn×m的方格图每个方格中都有一个整数。现有一只小熊想从图的左上角走到右下角每一步只能向上、向下或向右走一格并且不能重复经过已经走过的方格也不能走出边界。小熊会取走所有经过的方格中的整数求它能取到的整数之和的最大值。输入格式第一行有两个整数n , m n, mn,m。接下来n nn行每行m mm个整数依次代表每个方格中的整数。输出格式一个整数表示小熊能取到的整数之和的最大值。输入输出样例 #1输入 #13 4 1 -1 3 2 2 -1 4 -1 -2 2 -3 -1输出 #19输入输出样例 #2输入 #22 5 -1 -1 -3 -2 -7 -2 -1 -4 -1 -2输出 #2-10说明/提示样例 1 解释样例 2 解释数据规模与约定对于20 % 20\%20%的数据n , m ≤ 5 n, m \le 5n,m≤5。对于40 % 40\%40%的数据n , m ≤ 50 n, m \le 50n,m≤50。对于70 % 70\%70%的数据n , m ≤ 300 n, m \le 300n,m≤300。对于100 % 100\%100%的数据1 ≤ n , m ≤ 10 3 1 \le n,m \le 10^31≤n,m≤103。方格中整数的绝对值不超过10 4 10^4104。2024/2/4 添加一组 hack 数据。思路要点 本题可以向上向下和向右走并且不能重复经过已经走过的方格因此向下和向上是不可能先后出现的用一个二维 dp 同时推三个方向就会有问题。 对于每个点接下来朝三个可选方向的走法是依其上一步走的方向而定的比如上一步是向下走的该处点就不能向上走了不然又会回到上一步的点。我们可以用三个二维数组分别记录 (i, j) 选择不同方向的结果。 由于横向只能往右走因此可以从左往右推每一列对每列再分别讨论该点朝上和朝下的情况。状态定义d[i][j]从上往向下走到达 (i, j) 的取数之和最大值r[i][j]从左往右走到达 (i, j) 的取数之和最大值u[i][j]从下往上走到达 (i, j) 的取数之和最大值边界初始化对起点来说不存在上一步该点结果三个方向都为a[1][1]d[1][1] u[1][1] r[1][1] a[1][1];对第一列元素来说只能从上往下走得到可以用前缀和求出d[i][1] d[i - 1][1] a[i][1]。状态转移分三种情况讨论→↓↑。推 → 上一步可以是 ↑ 或 ↓ 或 →。r[i][j]a[i][j]max(max(u[i][j-1], d[i][j-1]), r[i][j-1])推 ↓ 上一步只能是 ↓ 或 →d[i][j] a[i][j] max(r[i - 1][j], d[i - 1][j])推 ↑ 上一步只能是 ↑ 或 →u[i][j] a[i][j] max(u[i 1][j], r[i 1][j])注意本题数据比较大数组要用 long long 存因为题目中a[i][j]可以是负数三个方向数组都要初始化为很小的数才能保证比较的正确性。参考代码#includebits/stdc.h#definemaxn1005usingnamespacestd;typedeflonglongll;intn,m,a[maxn][maxn];ll d[maxn][maxn],u[maxn][maxn],r[maxn][maxn];intmain(){scanf(%d %d,n,m);for(inti1;in;i){for(intj1;jm;j){scanf(%d,a[i][j]);d[i][j]u[i][j]r[i][j]LONG_LONG_MIN;}if(i1)// 对起点来说不存在上一步该点结果三个方向都为 a[1][1]d[1][1]u[1][1]r[1][1]a[1][1];else// i: 2 ~ n, ↓ 推 d[i][1] 初始化第一列值d[i][1]d[i-1][1]a[i][1];}for(intj2;jm;j){// 从第一列开始推 2 ~ m 列for(inti1;in;i)// 推 → 上一步可以是 ↑ 或 ↓ 或 →r[i][j]a[i][j]max(max(u[i][j-1],d[i][j-1]),r[i][j-1]);for(inti2;in;i)// 推 ↓ 上一步只能是 ↓ 或 →d[i][j]a[i][j]max(r[i-1][j],d[i-1][j]);for(intin-1;i1;i--)// 推 ↑ 上一步只能是 ↑ 或 →u[i][j]a[i][j]max(u[i1][j],r[i1][j]);}printf(%lld,max(max(u[n][m],d[n][m]),r[n][m]));return0;}
软考中级机考240分钟实战:3个画图工具操作技巧与时间分配策略开篇:机考画图工具的重要性与挑战对于准备参加软考中级机考的考生来说,画图工具的操作熟练度往往成为决定考试成败的关键因素之一。与传统笔试不同,机考环境下的画图工…
📅 2026/7/10 1:06:21
preflight protocol check
📅 2026/7/10 1:06:21
1. 项目概述:这不是“翻墙”,而是 Office Copilot 的本地服务路由异常诊断Office Copilot 在部分 Windows 设备上显示“区域受限”提示,比如弹出“Copilot is not available in your region”或“功能已禁用”灰显状态,但同一微软…
📅 2026/7/10 1:06:21
行测逻辑论证四大题型速通指南:归因、质疑、支持、解释类题目实战解析考场上的每一秒都弥足珍贵,尤其是面对行测中烧脑的逻辑论证题时。经历过三次公考的老张曾告诉我:"逻辑论证题就像迷宫,掌握了地图的人总能先找到出口。&q…
📅 2026/7/10 2:08:11
你有没有遇到过这种情况:打开一个复杂的订票网站,要在十几个选项里反复筛选,填完一页又跳转到下一页,最后还要手动比价——整个过程耗时耗力,还容易出错。传统的自动化脚本要么写起来麻烦,要么网页一改版就…
📅 2026/7/10 2:08:11
本节将详细介绍在调用模型时常用的控制参数,帮助你更好地控制模型的行为。temperature——控制创造性与确定性temperature 是最常用的参数,取值范围 0 到 2。它控制模型输出的随机程度。实例from langchain.chat_models import init_chat_model# 同一问题…
📅 2026/7/10 2:08:11
🎯 面试不是运气,是准备出来的为什么你投了100份简历,连面试都拿不到?很多人学了网络安全,技术也不差,但一到面试就碰壁。问题往往不出在技术上,而是:简历写得像技术说明书ÿ…
📅 2026/7/10 2:08:11
LCD1602驱动移植实战:从51单片机到STM32的5个关键步骤与引脚配置 在嵌入式开发领域,LCD1602液晶屏因其价格低廉、接口简单而广受欢迎。许多开发者最初接触LCD1602都是在51单片机平台上,但当项目需要升级到性能更强的STM32时,如何将…
📅 2026/7/10 2:08:11
告别驱动烦恼:UniversalAdbDriver一站式解决Windows安卓设备连接难题 【免费下载链接】UniversalAdbDriver One size fits all Windows Drivers for Android Debug Bridge. 项目地址: https://gitcode.com/gh_mirrors/un/UniversalAdbDriver
还在为Windows系…
📅 2026/7/10 2:07:11
一、为什么接口自动化测试,适合用AI赋能?
大家可自行先思考一个问题:
AI赋能测试全流程,为什么优先推荐从接口自动化切入?
有三个典型原因:
接口输入结构化,AI最擅长"吃"
接口有OpenA…
📅 2026/7/10 0:00:53
终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock
原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…
📅 2026/7/10 0:00:53
YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…
📅 2026/7/10 0:00:53
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/9 15:10:35
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/9 14:14:01
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/9 15:10:36
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/9 15:10:36
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/9 15:10:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/9 15:10:36