分量 算法 笔记tarjan

CF1843E Tracking Segments 做题笔记

题目链接 这题其实还行。 如果能想到二分答案就会比较简单,我们来看如何写 check 函数。 把当前所有的单点修改存起来,然后依次遍历每个区间,观察这个区间内被单点修改的点的个数是否严格大于该区间长度的一半即可。 我们需要一个支持单点修改区间查询的工具,首先想到树状数组,但前缀和就够用了。 时间复杂 ......
Tracking Segments 笔记 1843E 1843

对算法的一些理解

主要的算法思路有这几个: 1、穷举 2、动态规划 3、分治 4、贪心 5、回溯 6、分支限界 这些算法思路之间是有区别和联系的。但是,很多文章没有把他们的区别和联系讲出来,这里尝试梳理一下。 穷举是最朴素、最原始的思路。穷举就是把所有的可能一个一个列举出来,逐个分析后,再合并分析后的结果。 但是,如 ......
算法

AES算法

## 1.前言 对接资方的时候用到了AES加密算法,之前经常用但是没好好梳理一下,这次有空就简单梳理一下,方面日后整理学习。 AES是加密算法其中的一种,它是属于**对称加密**,对称加密的意思就是,加密以及解密用的都是同一个Key。相比于非对称加密RSA,SM2等,它的优点就是快。 为了了解AES ......
算法 AES

最短路算法

[toc] # 最短路算法 ## 单源最短路-迪杰斯特拉算法 用于计算一个节点到其他所有节点的最短路径 **Dijkstra 算法**是贪心算法, 是一种求解非负权图上单源最短路径的算法。 基本思想是:设置一个顶点的集合S,并不断地扩充这个集合,当且仅当从源点到某个点的路径已求出时它才属于集合S。开 ......
算法

文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题

# 五、一个已排好序的数组是一个最小堆吗? ## 文心一言: 一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点 x,其父节点 y 的值都小于等于 x 的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定满足最小 ......
文心 导论 算法 chatgpt VS

图论 学习笔记(省选+)

网络流 最大流问题(Maximum Flow Problem) 有向有权图 给定起点s和终点t 预期:求出从s到t的最大流 ps.有些“管道”达不到其最大容量 朴素的匹配算法(Naive Algorithm):未必能找到最大流,其结果往往比最优解差一点,但是其他更好的算法都基于此算法 构建一个和原图 ......
笔记

线性规划学习笔记

# 线性规划学习笔记 ## 1 线性规划 ### 定义 > **定义 1.1** 已知一组实数 $a_1,a_2,\cdots,a_n$,以及一组变量 $x_1,x_2,\cdots,x_n$,在这些变量的一个线性函数定义为 $f(x_1,x_2,\cdots,x_n) = \sum_{i=1}\l ......
线性 笔记

24.贪心算法.

贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 请看下面案例,假设有如下课程,希望尽可能多的将课程安排在一间教室里: | 课程 | 开始时间 | 结束时间 | | : : | : : | : : | | 美术 ......
算法 24

Go 语言并发编程之 singleflight 库和归并回源算法的使用

在并发编程中,重复执行相同操作可能会浪费计算资源和时间,导致重复的网络请求,甚至产生不一致的结果。为了解决这些问题,Go 语言提供了一个名为 singleflight 的同步库和归并回源算法,它们可以避免重复执行相同操作,提高程序的性能和可靠性。 singleflight 库提供了一个 Group ......
singleflight 算法 语言 Go

opencv学习笔记(十二)

harris角点检测: #角点检测 import cv2 import numpy as np """cv2.cornerHarris() img:数据类型为float32 bolckSize:角点检测中指定区域的大小 ksize:Sobel求导中使用的窗口大小,一般为3 K:取值参数为[0.04, ......
笔记 opencv

3.数据结构与算法复习--线性表

#线性表的定义和特点 **线性表是**具有相同特性的数据元素的一个有限序列 (a1,a2,..ai-1,ai,ai+1,...an) a1:线性起点 ai-1为ai的直接前驱,ai+1为ai的直接后驱 an为线性终点,当n=0时称为空表 * 线性表 ![](https://img2023.cnblo ......
数据结构 线性 算法 结构 数据

【前端算法学习】利用“栈”数据结构,解决简单算法

## 第一题 | LeetCode | 力扣 | 难度 | | : : | : : | :--: | | 20.Valid Parentheses. | 20. 有效的括号 | 简单 | ### 题目描述 给定一个只包括 `'('`,`')'`,`'{'`,`'}'`,`'['`,`']'` 的字符 ......
算法 数据结构 前端 结构 数据

【前端算法学习】数据结构之“队列”

## 回顾 上一章,我们学习了“栈”这个数据结构,我们在JS中可以用`push()`和`pop()`来模拟入栈和出栈。 这一章我们将学习“队列”这个数据结构,同时我们也会使用JS代码来介绍、模拟实现队列的操作。 ## 什么是队列 队列与我们上一章学习的栈十分相似;但是与栈不同的是,队列遵循FIFO( ......
数据结构 队列 前端 算法 结构

P5JS学习笔记

//启动方法,自动执行 function setup() { createCanvas(400, 400); } //绘画执行方法,自动执行,按设定好的帧数绘制 function draw() { background(25); ellipse(50,50,80,80);//画圆 //鼠标按下事件 ......
笔记 P5JS 5JS P5 JS

基于多算法融合的啸叫抑制方案总结

前记 在对讲和本地扩音领域,啸叫抑制是一个无法绕过去的话题。怎么抑制啸叫是一个非常棘手的问题。笔者及团队在这个方向研究了好久。终于取得了一些阶段性的进展。这里做一下梳理。 心路历程 刚开始想依靠单纯的算法去解决。做了很多仿真,发现都不是很理想。不是抑制太狠了影响音质,就是太轻了没办法把啸叫抑制下去。 ......
算法 方案

C# MongoDB学习笔记(一)-Windows安装MongoDB

一、安装MongoDB 二、安装连接工具 1、MongoDB官方连接工具-MongoDB Compass 2、第三方连接工具-Navicat Premium 略 ......
MongoDB Windows 笔记 160

C# MongoDB学习笔记(二)-Linux安装MongoDB

一、安装MongoDB 二、安装连接工具 1、安装宝塔面板-MongoDB连接工具 ......
MongoDB 笔记 Linux 160

C# MongoDB学习笔记(目录)-序言

一、MongoDB简介: 1、MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 2、Mongo最大的特点是它支持的查询语言 ......
序言 MongoDB 笔记 目录

【算法】罗马数字与整型数字转换,数值范围1-4000

编写两个函数,将罗马数字与整数值进行转换。每个函数将测试多个罗马数字值。 现代罗马数字是通过从最左边的数字开始分别表示每个数字,并跳过任何值为零的数字来书写的。在罗马数字1990中,表示为:1000=M,900=CM,90=XC;从而产生MCMXC。2008被写成2000=MM,8=VIII;或MM ......
数字 数值 算法 范围 4000

反向传播算法的理解

反向传播算法--求偏导速度大大提升(一次求解) https://zhuanlan.zhihu.com/p/25081671 1 用计算图来解释几种求导方法: 1.1 计算图 式子 e=(a+b)∗(b+1) 可以用如下计算图表达: 令a=2,b=1则有: 所以上面的求导方法总结为一句话就是: 路径上 ......
算法

C# Dapper和DapperExtensions笔记

一、Dapper Dapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。 Dapper通过扩展IDbConnection提供一些有用的扩展方 ......
DapperExtensions 笔记 Dapper

22.回溯算法

# 1.回溯的基本原理 在问题的解空间中,按深度优先遍历策略,从根节点出发搜索解空间树。算法搜索至解空间的任意一个节点时,先判断该节点是否包含问题的解。如果确定不包含,跳过对以该节点为根的子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续深度优先搜索。 回溯法解问题的所有解时,必须回溯到根节点, ......
算法 22

Rust学习笔记——基于官网和Rust语言圣经(二、猜数游戏)

前面的hello world项目还是太old school了,这样用一个猜数字的游戏来快速了解下rust语言,以及为啥cargo那么好用的原因。不要拘束新的语法点,后面都会详细介绍! # 2.1猜数游戏:一次猜测 \-本节您将学会: ·let、match等方法 ·相关的函数 ·外部的crate ·. ......
Rust 圣经 语言 笔记

opencv学习笔记(十一)

傅里叶变换: 作用: 高频:变化剧烈的灰度分量,例如边界; 低频:变化缓慢的灰度分量,例如大海 滤波: 低通滤波器:只保留低频,会使图像模糊 高通滤波器:只保留高频,会使图像细节增强 opencv中主要就是 cv2.dft() 和c v2.idft() ,输入图像需要先转换为np.floa32的格式 ......
笔记 opencv

保护数据隐私:深入探索Golang中的SM4加密解密算法

确保网络请求数据传输的安全性、一致性和防篡改是至关重要的。通过结合对称加密和非对称加密的强大能力,我们可以实现高度安全的数据传输。对称加密提供了快速且高效的加密和解密过程,而非对称加密则保证了密钥的安全性。这种结合能够确保数据在传输过程中的保密性、完整性和可靠性,有效防止数据被篡改或窃取。无论是保护... ......
加密解密 算法 隐私 数据 Golang

装饰器(笔记整理)

# 一、 装饰器介绍 ## 为何要用装饰器 - Python 中的装饰器是一种**语法糖**,可以在运行时,动态的给函数或类添加功能。 - 装饰器本质上是一个函数,使用** @ + 函数名**就是可实现绑定给函数的第二个功能 。 - 将一些通用的、特定函数的功能抽象成一个装饰器,可以重复利用这些功能 ......
笔记

函数对象与闭包(笔记整理)

# 一、函数对象 ## 1.什么是函数对象 - **函数对象是指:**将函数作为变量保存在内存中的一种对象。就是把函数当成变量去使用,就是在函数调用阶段,将调用的函数赋一个变量名 ```python def inner(): print('函数名也是不加括号,其实就是一个地址') # print(i ......
闭包 函数 对象 笔记

PaddleOCR学习笔记1

尝试使用PaddleOCR方法,如何使用自定义的模型方法,参数怎么配置,图片识别尝试简单提高识别率方法。 目前仅仅只是初步学习下如何使用PaddleOCR的方法。 一,测试识别图片: 1.png : 正确文本内容为“哲学可以帮助辩别现代科技创新发展的方向” 二,测试代码: paddleocr_tes ......
PaddleOCR 笔记

macOS 配置算法(第四版)的开发环境

Java 环境配置 前往 Adoptium 下载他们预编译的 JDK 17(最新的 LTS 版本)的安装器,安装好之后,命令行执行 java -version,输出如下: openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment ......
算法 环境 macOS

笔记本输入python无提示、也无报错(不提示“不是内部或外部命令,也不是可运行的程序”)

最近在安装 Python 的时候发生了很奇怪的现象(安装前):从命令行执行 python 并不会输出python版本信息,似乎也没有其他反应,也无报错(不提示“不是内部或外部命令,也不是可运行的程序”),再次输入命令 where python显示C:\Users\quxw\AppData\Local ......
命令 笔记本 笔记 程序 python