- 博客(40)
- 收藏
- 关注
原创 LeetCode432周赛T2,记忆化搜索
机器人有一项特殊能力,可以在行程中 最多感化 2个单元格的强盗,从而防止这些单元格的金币被抢走。dfs(i,j,k)从当前这个位置(i,j)出发到达左上角(0,0)切最多感化强盗k次的最值。本题是三个状态的记忆化搜索,但感觉dp不符合直觉,所以用记忆化搜索来做。,机器人会遇到一个强盗,强盗会抢走该单元格数值的 绝对值 的金币。搜索的思路一般比较固定,对于记忆化搜索的题目,肯定都是有。第一步,判断当前点是否有意义,即判断是否越界。,机器人可以获得该单元格的金币。的.,并且,参数里有坐标。
2025-01-12 16:11:59 226
原创 学习笔记:使用 pandas 和 Seaborn 绘制柱状图
字体设置与 Seaborn 主题冲突要么只用一方;要么先,再。Seaborn barplot 与 MatplotlibSeaborn 自动把数据绘制到当前图中,不需要显式地“放进” Matplotlib;只需plt.show()或查看或保存结果。一个横坐标多个柱状图通过设置hue='...'参数,告诉 Seaborn 在同一 x 类别下再细分颜色。dodge=True为并排,不会重叠;则重叠显示。分组汇总借助groupby()size()(或count()sum()等)做聚合,再用。
2024-12-30 20:56:40 1003
原创 LeetCode430周赛T3
通过巧妙地将乘积关系转换为分数关系,并利用哈希表高效地统计和查找最简分数,我们成功地将原本可能的四重循环优化为两重循环,大大提升了算法的效率。这种方法不仅适用于本题,也为解决类似的组合类问题提供了有益的思路。
2024-12-29 21:48:56 950
原创 LeetCode3045.统计前后缀下标对II
通过利用字符串哈希技术,我们能够高效地计算并比较字符串的前缀和后缀,从而快速统计满足条件的字符串对的数量。关键在于如何巧妙地计算前缀和后缀的哈希值,并通过哈希表进行快速查找和计数。这种方法不仅适用于本题,实际上在许多需要快速字符串比较的问题中,都能发挥出巨大的作用。
2024-12-28 22:59:32 1135
原创 使用T-RexLabel标注过的数据集图片没有清除图片的Exif信息,导致转为其他数据集时错误
Exif(可交换图像文件格式)是一种协议,用于存储有关数码相机拍摄的图像的各种元信息。Exif与实际图像数据一起存储。Exif中的一些元信息包括相机制造商,快门速度,焦距,,拍摄时间等。这些元信息称为标签,每个标签都有一个由Exif格式标准决定的特定标签号。
2024-12-22 18:23:28 929
原创 MMDetection 0基础入门
MMDetection可以根据配置文件快速跑许多目标检测/实例分割的算法,本篇文章是本人学习过程中的笔记。因为本人也是深度学习的入门者,所以算法执行过程可能比较不规范,望指正。
2024-12-16 14:39:22 400
原创 深度学习模型训练中。 什么是训练集、验证集和测试集,它们有什么区别?
训练集:用来训练模型,模型通过这些数据调整参数。验证集:用来评估模型在训练过程中的表现,帮助调优超参数,防止过拟合。测试集:用于最终评估模型的泛化能力,模拟实际应用中模型在新数据上的表现。这种划分方式帮助模型能够在训练中不断改进,同时确保它在未知数据上的良好表现。
2024-12-11 12:13:20 972
原创 在paddle中安装python-bidi出错
翻看网上解决方式,是由于系统中缺少 Rust 及其包管理器 Cargo。python-bidi 依赖 Rust 来编译其扩展,如果没有安装 Rust 和 Cargo,安装过程将无法继续。发现另一种解决方式,安装旧版本的bidi。但是我的终端却安装不了,一直卡住。安装0.4.0问题解决。先查看旧版本bidi。
2024-12-06 20:27:35 397
原创 最多可收集的水果数目
第 1 个小朋友(绿色)的移动路径为 (0,0) -> (1,1) -> (2,2) -> (3, 3)。第 2 个小朋友(红色)的移动路径为 (0,3) -> (1,2) -> (2,3) -> (3, 3)。第 3 个小朋友(蓝色)的移动路径为 (3,0) -> (3,1) -> (3,2) -> (3,3)。第 1 个小朋友的移动路径为 (0,0) -> (1,1)。第 2 个小朋友的移动路径为 (0,1) -> (1,1)。第 3 个小朋友的移动路径为 (1,0) -> (1,1)。
2024-11-24 22:56:02 494
原创 新增道路查询后的最短距离 II
本题由于数据规模较大,要求我们在动态添加道路时高效地计算最短路径。每次查询后,你需要找到从城市。所有查询中不会存在两个查询都满足。都有一条单向道路通往城市。来处理路径的合并问题。
2024-11-20 22:45:22 465
原创 公司命名——计算交集
text{有效名字数量} = (\text{组 } a \text{ 的大小} - \text{交集大小}) \times (\text{组 } b \text{ 的大小} - \text{交集大小})通过这种方法,我们可以高效地计算出不同且有效的公司名字的数量,避免了直接暴力枚举的复杂性。这样,我们能够快速查找哪些名字共享相同的后缀,从而在交换时避免冲突。接下来,我们需要枚举所有不同首字母的组(即不同的。最终,我们将所有有效名字的数量累加,返回结果。你的任务是返回不同且有效的公司名字的数量。
2024-09-25 21:28:02 435
原创 数位DP,统计特殊整数
通过使用数字动态规划的方法,我们能够高效地计算出区间[1, n]内的特殊整数数量。关键在于合理地定义状态并使用记忆化技术避免重复计算。此方法不仅适用于本题,也适用于其他涉及数位限制和组合的计数问题。
2024-09-20 17:38:44 752
原创 LeetCode415周赛T2 +T3
这道题目通过动态规划有效解决了在不违反顺序条件下,选择数组元素的最大得分问题。动态规划的状态转移方程简单明了,通过合理的初始化和选择过程,最终可以得到最优解。
2024-09-16 20:42:25 604
原创 LeetCode第138双周赛T3
种方案,并且相同数字内部不需要有顺序,所有对于每种数字,除去。如何避免重复:把所有数字转为字符串然后排序。如何计数:把n个数字,放到n个位置,总共有。,另外,第一个位置不能放0,所有方案数就是。枚举所有回文数,然后判断能否整除。
2024-09-01 15:23:20 208 1
原创 数位DP模板
给定一个按 非递减顺序 排列的数字数组 digits。你可以用任意次数 digits[i] 来写的数字。例如,如果 digits = [‘1’,‘3’,‘5’],我们可以写数字,如 ‘13’, ‘551’, 和 ‘1351315’。给你一个整数n和x,返回[1,n]中整数num表示的二进制中1x,2x,3x等1的个数。给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。返回 可以生成的小于或等于给定整数 n 的正整数的个数。
2024-08-21 23:49:32 139
原创 Electron请求后端接口踩坑
今天用Electron-Vite,后端用SpringBoot写一个简单的接口,测试一下是否联通,没想到一直报错,也没找到原因。原来是Electron-Vite设置没有设置CSP连接来源,导致Electron用了默认的。
2024-08-19 22:23:19 499
原创 LeetCode410周赛DP +前缀和
代码发现,第三重循环是单调的,找到所有。的情况下,单调数组对数.的和,需要用前缀和来优化。的数字所形成的单调数对。
2024-08-11 13:22:42 316
原创 嵌套函数和嵌套变量的作用域问题
嵌套循环:内层循环与外层循环共享同一个作用域,内层循环可以修改外层循环中的变量。嵌套函数:内层函数有自己的局部作用域,内层函数中的变量不会影响外层函数中的变量,除非使用nonlocal关键字。这种作用域规则使得嵌套函数更具模块化和封装性,而嵌套循环更适合在同一逻辑块中共享和修改数据。
2024-08-06 19:19:07 291
原创 列表推导(list comprehension)
列表推导(list comprehension)是Python中一种非常强大且简洁的方式来创建列表。
2024-08-06 15:36:35 378
原创 python包中__init__.py的作用(个人理解)
中写一些东西,把你想暴露的模块写上,就可方便别人调用了。就可以顺带导入一些模块,而不用去考虑你的具体实现在哪个文件夹下。就是导入包的所有模块,其实还是作者规定了你可以导入哪些模块。会默认导入哪些模块。其实就是不要想当然的认为写了。,这样写的含义就是当你在test.py中写。这样写的好处就是用户使用包。的作用就是统一的暴露出一些模块。假设我们自己写了一个模块。,需要写上路径,想对于。
2024-08-06 13:29:29 346
原创 LeetCode139双周赛,换根DP
是个很重要的参数,他代表往上走的最大深度,当往下递归的时候,需要更新。父亲走到儿子,那么此时就应该。了,儿子往下的最大深度已经算出不用管了,来自父亲的最大深度需要更新,因为往上走的最大深度有可能来自。,为每个节点进行挑选,是选择往下走的最大深度呢,还是选择往上走的最大深度呢。找到一个节点的最大深度时,我们可以用一个简单的。简单来说给一张有向图,找到每个节点的最大深度。,如果是每一个节点,需要用到。,找到每个节点向下的最大深度。
2024-08-05 21:03:24 561
原创 使用 Pandas 创建布尔系列的指南
创建布尔系列:通过条件表达式(如)、逻辑运算符组合多个条件,或者字符串匹配等方法创建布尔系列。使用布尔系列:可以用来筛选 DataFrame 中符合条件的行,方便数据分析和处理。
2024-07-21 19:59:42 266
原创 LeetCode第 407 场周赛
需要增加,但是对于差分数组,你如果在某个位置加了,那么就需要在后面某个位置减回来,但是位置在哪呢,我们不知道,所以先存起来,存到。相当于一个存钱罐,哪里需要的时候从里面取.处理完数组以后,每次加前缀和即可。使两个数组相等,也等价于使他们的。他要求最大次数,那就每次需要。然后从前往后,使两个数组相等。构造两个数组的差分数组,,则必输,否则就是赢。
2024-07-21 12:54:38 489 1
原创 python为什么会有if __name__ == “__main__“:
模块化代码:可以将代码组织成模块,使其既可以独立运行(用于测试或执行特定任务),又可以被其他脚本导入并重用。防止测试代码执行:你可以在脚本底部编写一些测试代码,只有在脚本被直接运行时才会执行,而不会在导入时执行。如果该脚本被另一个 Python 脚本导入(例如,前面的执行符号时,代码会从上往下执行,并不是从。值将被设置为模块的名称(即 script)。块中的代码将不会执行。
2024-07-13 18:58:27 253
原创 如何能在base的Jupyter中选择conda环境
第二部分:执行命令 python -m ipykernel install --name 环境名称。第一步:激活相应的环境。
2024-07-12 19:17:31 176
原创 LeetCode402周赛T3(Dp) +T4(树状数组)
三个点的山峰山谷情况,需要注意的是,add函数在统计区间和的,如果需要单点修改为别的值,需要先减去原来的值。因为咒语释放的顺序无关,考虑按伤害值从小到大释放咒语。把伤害相同的咒语看成一种,设。对于查询[L,R]那么只需要查询区间之和即可。单点修改,区间查询。用树状数组或者线段树。重点是如何更新,对于每个询问,需要更新。这里用树状数组,每次。
2024-06-16 14:52:15 200
原创 LeetCode2813.子序列最大优雅度,反悔贪心
比较此时是否应该选择这个。所以每次选择的时候还要维护一个。个元素的前提下,profit + distinct。,在遇到可以选择的方案以后,比较是否更新。最大,所以要先确定一种因素,先确定。逐次递减,又因为distinct。并不是线性增长的,不能直接和。包含了受两个因素影响,
2024-06-13 10:25:19 268
原创 LeetCode132双周赛T3,搜索和DP
如果写的是递归函数,则需要说明返回值是什么,写的不是递归,可以用auto自动推断。lambda 说明,[&]表示如果用到外面的变量,传递引用。[]啥也不加,表示如果用到外面变量,复制一个进来。对相邻元素不同的最长序列的长度。转移:枚举 p<i,
2024-06-09 19:56:38 413 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人