leetcode---第 250 场周赛 5815. 扣分后的最大得分

Java实现蓝桥杯VIP算法训练 相邻字母 试题 算法训练 相邻字母 资源限制 时间限制:1.0s 内存限制:256.0MB 【问题描述】   从键盘输入一个英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA,若为A则打印ZAB。注意:需要区分大小写。 【输入格式】   一行,仅包含一个英文字母。 【输出格式】   一行,包含三个字母。 【样例输入1】   a 【样例输出1】   zab 【样例输入2】   B 【样例输出2】   ABC package 第九次模拟; import java.util.Scanner; public class 相邻字母 { public static 立即下载

题目:

给你一个 m x n 的整数矩阵 points (下标从 0 开始)。一开始你的得分为 0 ,你想最大化从矩阵中得到的分数。

你的得分方式为:每一行 中选取一个格子,选中坐标为 (r, c) 的格子会给你的总得分 增加 points[r][c] 。

然而,相邻行之间被选中的格子如果隔得太远,你会失去一些得分。对于相邻行 r 和 r + 1 (其中 0 <= r < m - 1),选中坐标为 (r, c1) 和 (r + 1, c2) 的格子,你的总得分 减少 abs(c1 - c2) 。

请你返回你能得到的 最大 得分。

abs(x) 定义为:

  • 如果 x >= 0 ,那么值为 x 。
  • 如果 x < 0 ,那么值为 -x 。

示例 1:

输入:points = [[1,2,3],[1,5,1],[3,1,1]]
输出:9
解释:
蓝色格子是最优方案选中的格子,坐标分别为 (0, 2),(1, 1) 和 (2, 0) 。
你的总得分增加 3 + 5 + 3 = 11 。
但是你的总得分需要扣除 abs(2 - 1) + abs(1 - 0) = 2 。
你的最终得分为 11 - 2 = 9 。

示例 2:

输入:points = [[1,5],[2,3],[4,2]]
输出:11
解释:
蓝色格子是最优方案选中的格子,坐标分别为 (0, 1),(1, 1) 和 (2, 0) 。
你的总得分增加 5 + 3 + 4 = 12 。
但是你的总得分需要扣除 abs(1 - 1) + abs(1 - 0) = 1 。
你的最终得分为 12 - 1 = 11 。

提示:

  • m == points.length
  • n == points[r].length
  • 1 <= m, n <= 105
  • 1 <= m * n <= 105
  • 0 <= points[r][c] <= 105
    typedef long long ll;
    const int MAXN = 1e5 + 10;
    ll L[MAXN], R[MAXN];
    ll C[2][MAXN];
    const ll INF = 1ll << 60;
    
    class Solution {
    public:
        long long maxPoints(vector<vector<int>>& a) {
            int n = a.size();
            int m = a[0].size();
            for (int i = 0; i < m; i++) {
                C[0][i] = a[0][i];
            }
            for (int i = 1; i < n; i++) {
                int p = i & 1, q = 1 - p;
                // q -> p
                ll maxX = -INF;
                for (int j = 0; j < m; j++) {
                    maxX = max(maxX - 1, C[q][j]);
                    C[p][j] = maxX;
                }
                maxX = -INF;
                for (int j = m - 1; j >= 0; j--) {
                    maxX = max(maxX - 1, C[q][j]);
                    C[p][j] = max(C[p][j], maxX) + a[i][j];
                }
            }
            ll ans = 0;
            for (int i = 0; i < m; i++) {
                ans = max(ans, C[(n - 1) & 1][i]);
            }
            return ans;
        }
    };

Alphafold2/multimer Conda环境配置与GPU加速优化指南 本文详细介绍了如何在本地服务器或工作站上,通过Conda环境配置并优化GPU加速来部署Alphafold2及其多聚体版本Alphafold2-multimer。内容涵盖从硬件准备、依赖安装、数据库部署到实战预测与常见报错处理的全流程,重点解决了本地安装过程中的依赖冲突与GPU调用失败等关键问题,帮助研究人员高效运行这一蛋白质结构预测工具。 阅读详情

相关推荐

Unity开发HoloLens应用:从打包到部署的完整指南

本文为Unity开发者提供了将应用部署到HoloLens设备的完整实战指南。详细讲解了从环境准备、Unity项目配置、生成Visual Studio工程,到最终构建APPX安装包并通过设备门户或Visual Studio进行部署的全流程,帮助开发者高效完成混合现实应用的打包与安装。

red88的博客 1018

LeetCode 3148. 矩阵中的最大得分

给你一个由组成、大小为m x n的矩阵grid。你可以从矩阵中的任一单元格移动到另一个位于正下方或正右侧的任意单元格(不必相邻)。从值为c1的单元格移动到值为c2的单元格的得分为c2 - c1。你可以从单元格开始,并且必须至少移动一次。返回你能得到的总得分。9从单元格(0, 1)开始,并执行以下移动:- 从单元格(0, 1)移动到(2, 1),得分为7 - 5 = 2。- 从单元格(2, 1)移动到(2, 2),得分为14 - 7 = 7。总得分为2 + 7 = 9。-1从单元格。

m0_56090828的博客 804

解决Android 14兼容性问题:NDK中arm64-v8a的正确配置方法

本文详细解析Android 14系统架构变化对NDK开发的影响,重点介绍arm64-v8a架构的正确配置方法。针对常见的兼容性问题如so库缺失、ABI不匹配等提供解决方案,并分享性能优化与自动化测试实践,助力开发者高效适配Android 14设备。

algae的博客 1221

Leetcode—3148. 矩阵中的最大得分【中等】

Leetcode—3148. 矩阵中的最大得分【中等】

Atticus的博客 503

BOM 数据模型设计

字段名数据类型必填说明物料编码 (Part Number)字符串是唯一标识,主键。建议包含分类前缀(如STD-GEN-CUS-物料名称 (Part Name)字符串是版本 (Revision)字符串是如AB1.0,与编码组合构成唯一实例。状态 (Status)枚举是设计中(Draft)已发布(Released)已归档(Archived)已作废(Obsoleted)类型 (Type)枚举是专用件(Custom)借用件(Borrowed)通用件(Generic)标准件(Standard)

Davina_yu的博客 1756

告别死记硬背!用实际案例带你玩转UE5编辑器界面(附场景搭建练习)

本文通过实际案例教学,带你轻松掌握Unreal Engine5编辑器界面的核心功能。从创建基础场景到添加光源和可交互对象,逐步讲解内容浏览器、模式面板、世界大纲等模块的协同工作方式,告别死记硬背的学习模式。附场景搭建练习,助你快速上手UE5开发。

weixin_30566063的博客 729

LeetCode 第397场周赛个人题解

手速场,跟昨晚双周赛不是一个档次的

EQUINOX1的博客 550

Python爬虫实战:利用Playwright与异步技术高效抓取链家十万级二手房数据

在开始编写代码之前,我们首先需要为项目选择合适的技术栈。1. 传统方案:Requests + BeautifulSoup优点: 简单、轻量、学习成本低。直接发送HTTP请求获取HTML,然后解析。缺点: 对于大量由JavaScript动态渲染的内容无能为力。现代网站(包括链家)大量使用JS来加载数据和实现交互,简单的HTTP请求无法获取到完整的页面内容。此外,容易被基于IP或请求头特征的反爬机制拦截。2. 进阶方案:Selenium优点。

2201_76125261的博客 891

LeetCode算法解析之“贪心”解决反转矩阵最大得分问题

有一个二维矩阵 A 其中每个元素的值为 0 或 1 。 移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。 在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。 返回尽可能高的分数。 贪心思想: 根据题意,能够知道一个重要的事实:给定一个翻转方案,则它们之间任意交换顺序后,得到的结果保持不变。因此,我们总可以先考虑所有的行翻转,再考虑所有的列翻转。 不难发现一点:为了得到最高的分数,矩阵的每一行的最左边的..

m0_46405589的博客 594

Ollama 在不同操作系统上的详细使用,及用python进行调用实战

本文介绍了Ollama的安装配置及Python调用方法。主要内容包括:1)Windows/macOS/Linux/Docker等多种安装方式;2)Ollama基础命令,涵盖模型管理、运行和服务控制;3)Python调用教程,包含官方库使用、自定义客户端、多轮对话、参数设置等高级功能,以及直接API调用示例。文章提供了完整的代码片段,适合开发者快速上手使用Ollama进行本地大模型部署和开发。

数据知道的博客 1233

MIKE水动力笔记4_制作网格

建立水动力模型前的重要一步就是制作网格,本文所讲内容就是如何在MIKE中制作网格。

晏长街的博客 2万+

leetcode 3148.矩阵中的最大得分

这道题说实话真的有点难度,个人认为难度可以达到困难了...本来想着硬做,用以...开始为起点走的最大分数动态规划可以做出来,后来发现把自己做晕了还是没有做对,怎么也改不出来BUG。设dp[i][j]为从(0,0)开始,到(i,j)的最大分数,其实说实话,就是用grid[i][j]-当前子矩阵的最小值,然后依次列举出所有子矩阵进行对比最大分数就可以了。我们可以首先列举一下路径,会发现,其实走到最后,关注的无非就是起点和终点的数值,我们只需要考虑终点和起点的差最大就行了。思路:二维前缀和思想+dp。

m0_73917165的博客 346

ANSYS软件二次开发(2):二次开发环境搭建与配置

ADK是ANSYS提供的一个开发工具包,它包含了用于二次开发的API、示例代码和开发指南。ADK支持Python和Tcl,但Python因其易用性和强大的社区支持,成为首选。在ANSYS软件中,自定义菜单与工具栏是实现二次开发的重要途径之一,它允许用户根据自己的需求和工作流程,创建个性化的操作界面。通过自定义菜单与工具栏,可以将常用的功能、自定义的脚本或宏命令整合到一起,提高工作效率。原因:材料参数输入错误,或者模型的物理假设与实际情况不符。解决方案仔细校验材料参数,确保与实验数据一致。

kkchenjj的博客 2202

LeetCode 第250场周赛(分情况dp,离线查询,01字典树)

第250场周赛 将近700名,还是两道的水平,第三道想了一个多小时没想出来…难受,还是菜 5161. 可以输入的最大单词数 题目描述 键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入的 text 中单词的数目。 示例 1: 输入:text = “hello world”, brokenL

windyjcy的博客 460

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LeetCode周赛 250

LeetCode周赛5161. 可以输入的最大单词数5814. 新增的最少台阶数(数学)5815. 扣分后的最大得分(dp)5816. 查询最大基因差(离线DFS字典树) 5161. 可以输入的最大单词数 分割完,遍历字符串数组里的每个元素(字符串)即可 class Solution { public: int c[26]; vector<string> ans; //将字符串分割成字符串数组 //s是待分割的字符串,ch是分割的字符,ans是存分割后的结果

ACM-ICPC 现役(铜牌) Codeforces Rating: 2172 212

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【LeetCode:3148】矩阵中的最大得分(Java)

你可以从矩阵中的任一单元格移动到另一个位于正下方或正右侧的任意单元格(不必相邻)。从值为 c1 的单元格移动到值为 c2 的单元格的得分为 c2 - c1。解释:从单元格 (0, 0) 开始,执行一次移动:从 (0, 0) 到 (0, 1)。得分为 3 - 4 = -1。输入:grid = [[9,5,7,3],[8,9,6,1],[6,7,14,3],[2,5,3,1]]输入:grid = [[4,3,2],[3,2,1]]你可以从 任一 单元格开始,并且必须至少移动一次。

dawn191228的博客 1367

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

3148. 矩阵中的最大得分(24.8.15)

对于特殊位置的点需要先处理赋值:对于第一列的点只能由上方的点而得到,第一行的点只能由右方的点得到,对于(0。设走一步得到的值为 d ),假设我们dp每次记录的值为由某个点到此点的最大值,dp的值为 max{ 前置点的最大值,前置点+d },解释:从单元格 (0, 0) 开始,执行一次移动:从 (0, 0) 到 (0, 1)。输入:grid = [[9,5,7,3],[8,9,6,1],[6,7,14,3],[2,5,3,1]]输入:grid = [[4,3,2],[3,2,1]]

qq_60624992的博客 524

LeetCode 每日一题 2024/8/12-2024/8/18

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 557

蓝桥杯 算法训练 相邻字母【C语言】---Q君

【问题描述】   从键盘输入一个英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA,若为A则打印ZAB。注意:需要区分大小写。 【输入格式】   一行,仅包含一个英文字母。 【输出格式】   一行,包含三个字母。 【样例输入1】   a 【样例输出1】   zab 【样例输入2】   B 【样例输出2】   ABC 代码如下:(考虑边界情况) #inc...

weixin_43614987的博客 1056

[Mdp] lc1937. 扣分后的最大得分(dp优化+前后缀优化+周赛250_3)

文章目录1. 题目来源2. 题目解析 1. 题目来源 链接:1937. 扣分后的最大得分 前导题:[M前缀和] lc1014. 最佳观光组合(思维+前缀和+算法优化) 2. 题目解析 数据范围 1e5,并注意到 m*n 是 1e5,朴素的 dp 必然超时。 朴素 dp,三重循环直接暴力进行状态转移,显然是错误的。需要进行 dp 优化,看这情况也只能优化状态转移部分。 参考:灵茶山艾府:DP 优化技巧:拆项+前后缀最大值 基本上就是这个优化思路,配合前导题 [M前缀和] lc1014. 最佳观光组合(思维+前

Y-puyu 的博客 276

算法周赛笔记(7月第2周)— LeetCode 第250场

文章目录题目LeetCode - 1935LeetCode - 1936LeetCode - 1937LeetCode - 1938 题目 LeetCode - 1935 LeetCode - 1935: 可以输入的最大单词数 键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入的 text

vcj1009784814的博客 411

5815. 扣分后的最大得分

给你一个 m x n 的整数矩阵 points (下标从 0 开始)。一开始你的得分为 0 ,你想最大化从矩阵中得到的分数。 你的得分方式为:每一行 中选取一个格子,选中坐标为 (r, c) 的格子会给你的总得分 增加 points[r][c] 。 然而,相邻行之间被选中的格子如果隔得太远,你会失去一些得分。对于相邻行 r 和 r + 1 (其中 0 <

weixin_44560620的博客 243

LeetCode——1937. 扣分后的最大得分(Maximum Number of Points with Cost)[中等]——分析及代码(Java)

LeetCode——1937. 扣分后的最大得分[Maximum Number of Points with Cost][中等]——分析及代码[Java]一、题目二、分析及代码1. 动态规划(1)思路(2)代码(3)结果三、其他 一、题目 给你一个 m x n 的整数矩阵 points (下标从 0 开始)。一开始你的得分为 0 ,你想最大化从矩阵中得到的分数。 你的得分方式为:每一行 中选取一个格子,选中坐标为 (r, c)&

江南土豆的博客 1691

如何提高知识水平和leetcode contest rating力扣周赛分数(1800、1900分水平可看)

如何提高知识水平的一些心灵鸡汤、方法论和推荐资源

小玉沙丘的博客 1万+

LeetCode: 5815. 扣分后的最大得分

给你一个m x n的整数矩阵points(下标从 0开始)。一开始你的得分为 0,你想最大化从矩阵中得到的分数。 你的得分方式为:每一行中选取一个格子,选中坐标为(r, c)的格子会给你的总得分 增加points[r][c]。 然而,相邻行之间被选中的格子如果隔得太远,你会失去一些得分。对于相邻行r 和r + 1(其中0 <= r < m - 1),选中坐标为(r, c1) 和(r + 1, c2)的格子,你的总得分减少abs(c1 - c2)。 ...

LightInDarkness的博客 308

试题 算法训练 相邻字母

试题 算法训练 相邻字母 java实现 思路:重点解决于大小写字母相邻的问题 import java.util.Scanner; public class Word { public static void main(String[] args) { // TODO 自动生成的方法存根 //【相邻字母排序】 Scanner sc=new Scanner(System.in);...

qq_43530597的博客 541
上一篇: leetcode---第 250 场周赛 5814. 新增的最少台阶数
下一篇: AcWing 788. 逆序对的数量
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值