- 博客(11)
- 收藏
- 关注
原创 DFS边贡献统计法
本文提出了一种优化树结构节点对路径长度计算的算法。原算法通过枚举每组节点对并计算路径长度,时间复杂度为O(m²),容易超时。改进方案采用"边贡献统计法",将问题转化为计算每条边被组内节点对经过的次数。具体实现是通过DFS遍历树,统计每条边分割的子树内外的组内节点数,贡献值为x×(k-x)。该方法将时间复杂度降至O(G×n),其中G为组数,n为节点总数,有效解决了超时问题。代码示例和详细逻辑解释验证了算法的正确性和高效性。
2025-12-21 14:29:24
663
原创 0-1背包问题
本文详细介绍了动态规划中的0-1背包问题。0-1背包问题要求在n件物品中选择若干件放入容量为w的背包,使得总价值最大,每件物品只能选择一次。文章从二维数组和一维数组两种解法展开:1)二维数组解法通过dp[i][j]表示前i个物品在容量j时的最大价值,递推公式为dp[i][j]=max(dp[i-1][j], dp[i-1][j-weights[i]]+values[i]);2)一维数组解法通过滚动数组优化空间,递推公式为dp[j]=max(dp[j], dp[j-weights[i]]+values[i])
2025-12-20 14:09:57
729
原创 python中的大顶堆与小顶堆
Python的heapq模块提供了小顶堆操作,大顶堆可通过元素取反间接实现。heapq核心函数包括heappush、heappop和heapify等,能高效维护堆结构。小顶堆直接使用原生函数,大顶堆通过存储负数实现。对于获取前N大/小元素,推荐使用nlargest/nsmallest函数。此外,完全二叉树可实现自定义堆类,通过sift_up和sift_down方法维护堆性质。实际应用中优先使用heapq模块以获得更高性能。
2025-12-06 11:17:47
537
原创 JWT------一个需要使用家里tool是需要开门验证的工具
文章摘要:JWT(JSON Web Token)是一种用于安全传输信息的开放标准,由Header、Payload和Signature三部分组成。它具有无状态、跨语言支持和高安全性等优势,常用于身份验证、授权、信息交换和单点登录等场景。文中还介绍了JWT在MCP项目中的实际应用,包括密钥生成、Token签发、验证流程等实现细节,展示了JWT作为访问凭证的核心作用。
2025-10-10 20:13:06
976
原创 OpenCV项目的对于图像处理的基本步骤
4.寻找轮廓,找到其中的主体部分,画出轮廓(一般找轮廓的时候找的是所有的轮廓,排序,找出最大的轮廓(利用面积法),计算周长,之后进行多边形的逼近让轮廓只有四个角)3.将图片进行灰度值化(为了后面进行二值化)+高斯模糊(让图片的主体更加清晰,其他的内容模糊)5.找出对应的四个角的坐标和变换之后的四个角的坐标进行单应性矩阵变换,然后进行透视变换。说明:前两步骤目的是为了得到用户想要处理的图片中的内容(使处理的内容的图片放大)6.得到了对应的想要的图片,之后进行相应的处理。
2025-09-22 19:47:11
232
原创 numpy里面的常用的属性
表示这个ndarray的内存信息,存储的位置。表示ndarray这个整体元素的个数。表示ndarray的元素的类型。表示ndarray的维度大小。表示的ndarray的形状。
2025-09-09 18:50:18
140
原创 安装jupyter扩展插件的步骤
需要升级 Notebook 到 7.x 版本(与 JupyterLab 4.x 兼容,且支持。如果选择方案1,后续安装扩展需使用 JupyterLab 的扩展命令(如。,因为7.x版本对扩展机制做了大幅改动,导致旧扩展不兼容。主播就是在这里出现了错误,这里是主要错误点。组件缺失或版本不兼容,这通常是由于。若选择方案2,可继续使用之前的。从报错信息来看,核心问题仍然是。标签页,且无报错,则安装成功。
2025-09-08 19:55:11
801
原创 如何在自己的windows电脑中创建一个虚拟环境
3.进入了其中的命令行窗口,之后进行输入virtualenv opencv(这个创建文件夹的名字),如果没有virtualenv的话,需要安装 pip install virtualenv -i https://pypi.tuna.tsinghua,edu.cn/simple。7.出现的问题:如果出现以下的问题,说明以前的版本已经删除了,没有了,你就按装下面你报错的版本就可以了,我就安装的是3.4.11.39。2.在对应的此文件夹下输入cmd。5.在命令行输入activate。
2025-09-05 19:27:46
213
原创 解决内存耗尽问题
错误信息: MemoryError: Unable to allocate 5.38 GiB for an array with shape (119, 6069660) and data type float64 问题描述:在尝试分配一个形状为 (119, 6069660) 的数组时,需要 5.38 GiB 的内存,导致内存不足。每次合并都会增加数据的列数和行数,特别是当你在 on 参数中使用的键(如 sku_id 、 cate 等)有大量重复值时,合并后的数据量会显著增加。
2025-09-05 18:55:44
453
原创 解决jupyter扩展包的问题
确保没有设置 `JUPYTER_PATH` 或者 `JUPYTER_CONFIG_DIR` 环境变量,这些变量可能会指向旧的配置。思路:虽然这个问题看似不能解决,但是换一种思路,你可以把jupyter的版本降到6.x的版本的稳定版就可以安装这个扩展插件了。我的是第一个问题,但是我建议大家都要重新安装一下,因为中间有可能你没删除干净就进行其他安装,很有可能会冲突。问题:由于最近jupyter的升级到了7.0,但是扩展库的不能使用,所以就不能安装扩展库。本章主要是安装以下的扩展插件。# 安装 Jupyter。
2025-07-07 10:40:48
893
原创 解决系统更新后Microsoft Edge浏览器+一些软件打不开
(2)手动设置DNS服务器地址,可以用谷歌的8.8.8.8和8.8.4.4,或者用国内运营商提供的DNS地址。在网络连接的属性里就能找到设置DNS的地方哦。3.从自己的U盘中存在的软件想下载到自己的本地电脑上,但是下载不了,提示:请连接网络,检查自己的防火墙。1.当打开电脑以后打开自己浏览器是只能打开部分网站,比如b站,百度可以打开,但是其他网站打不开,如果没有你的软件,可以点允许其他应用,然后添加路径,然后再按上述步骤进行操作。2.安装的一些软件如豆包,UU加速器不能使用,提醒:要网络连接,连接不上。
2025-03-16 16:47:00
3169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅