算法 常用

二分算法

1. 将两个集合合并 2. 询问两个元素是否在一个集合当中 基本原理:每个集合用一棵树表示,树根的编号就是整个集合的编号。每个节点储存它的父节点,p[x]表示x的父节点 判断树根(属于那个集合)`if (p[x] == x)` 求x的集合编号:`while(p[x] != x) x = p[x];` ......
算法

Bresenham画直线算法(待完成)

[TOC] Bresenham算法是图形学非常经典的光栅线生成算法,可用于显示直线、圆以及其他曲线。这里通过算法画直线过程,了解其工作原理。 # 问题描述 已知线段2端点$(x_0, y_0) (x_e, y_e)$,屏幕上画出该直线段。 由于屏幕是通过像素点显示的,只能通过像素点所在的整数坐标近似 ......
算法 直线 Bresenham

[算法学习笔记][刷题笔记] 单调队列优化 dp

### 前置知识 · 单调队列 单调队列顾名思义,一般用于解决 **滑动RMQ**问题。它的原理非常简单。我们维护一个双端队列,这个双端队列 **只维护可能成为区间最值**的元素。 最基础的单调队列,例如滑动窗口。直接依据题意维护即可。 这里提供单调队列模板(STL deque 版) 单调队列模板( ......
笔记 队列 算法 dp

关于欧几里得算法与裴蜀定理的证明

### 前言: 因为某次考试订正 T4,用到了 exCRT,然后发现我和 lws 不会 exgcd…… 所以来把 gcd 到 exgcd 重新学一下,就写了这篇 trick。 ### 欧几里得算法: 求证: $$ \gcd(a,b)=\begin{cases} \gcd(b,a\bmod b) & ......
定理 算法

文心一言 VS 讯飞星火 VS chatgpt (82)-- 算法导论8.1 1题

# 一、如果用go语言,在一棵比较排序算法的决策树中,一个叶结点可能的最小深度是多少? ## 文心一言: 在一个排序决策树(如二叉搜索树)中,每个叶节点的最小深度等于输入数据中最大元素与最小元素之间的位距离。这是因为在最坏的情况下,每个比较都需要将最大元素向最小元素的路径移动,因此叶节点的最小深度就 ......
文心 导论 算法 chatgpt VS

微信小程序常用代码

在微信小程序中,可以使用 wx.showToast、wx.showLoading 和 wx.showModal 等方法来显示不同类型的提示框 wx.showToast:用于显示一条浮动的提示框,一般用于短暂的提示信息。 wx.showToast({ title: '提示内容', icon: 'suc ......
常用 代码 程序

[算法学习笔记][刷题笔记] 2023/8/26&8/27 解题报告状压 dp

[题单](https://www.luogu.com.cn/training/334619#information) ### 状压 dp 状压 dp是一种非常暴力的算法,它直接记录不同的状态,通过状态进行转移。 状压 dp可以解决 NP 类问题。它的原理是暴力枚举每一种可能的状态。所以它的复杂度是指 ......
笔记 算法 2023 amp 26

生存分析常用的统计模型

回复我们公众号“1号程序员”的“E001”可以获取《BAT机器学习面试1000题》下载链接。[关注并回复:【E001】] 生存分析,是将观察结局和出现这一结局所经历的时间结合起来分析的一种统计分析方法,已经被广泛地应用于癌症数据分析领域,来揭示疾病特征和预后结局的关系,为临床医生提供预后信息和临床决 ......
模型 常用

常用的linux命令

《 linux常用基础命令 1.文件操作命令 创建文件:touch filename 创建目录:mkdir dirName 删除文件:rm filename 删除文件夹:rm -rf dirName 文件复制:cp 原始文件 目标文件 文件夹复制:cp -r 原始目录 目标目录 文件移动: mv p ......
命令 常用 linux

深度-高考后的分层之战和人生算法破圈(转渤海小吏)

谈高考之前先大概想明白一个根本的问题,社会的层级细分下来可以搞出十几20层,简化来看可以简要分为以下三层。第一,上层高护城河生产资料和权利的所有者。二,中层小型生产资料所有者和有产打工人。三基层也就是无产者,然后我们根据上面三个阶层来看一下每个层级的最优解和想法是啥?先来看上层建筑,既得利益者是希望 ......
小吏 算法 深度 人生

[代码随想录]Day28-贪心算法part02

## 题目:[122. 买卖股票的最佳时机 II](https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/) ### 思路: 假如第 0 天买入,第 3 天卖出,那么利润为:prices[3] - prices[0]。 相当于 ......
随想录 随想 算法 代码 part

面对算法竞赛OI的Linux下vim简易配置

这段配置基本通用 但是需要vim支持clipboard才能复制到系统剪切板 下面是配置正文 .vimrc ``` let mapleader = "\" vnoremap y "+y inoremap jk nnoremap e :w:!g++ % -o % nnoremap e :w:!g++ % ......
算法 简易 Linux vim

sharp.js的常用方法

sharp.js是一个用于处理图像的JavaScript库,它提供了许多方法来操作和修改图像。以下是一些常用的sharp.js方法及其详细参数说明: 1. `resize(width, height)`: 调整图像的宽度和高度。 - width(Number):新的宽度。 - height(Numb ......
常用 方法 sharp js

【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

### 二叉树的直径 给你一棵二叉树的根节点,返回该树的 **直径** 。 二叉树的 **直径** 是指树中任意两个节点之间最长路径的 **长度** 。这条路径可能经过也可能不经过根节点 `root` 。 两节点之间路径的 **长度** 由它们之间边数表示。 **示例 1:** ``` 输入:roo ......
树形 直径 算法 LeetCode 内容

最短路三种算法详解

# 最短路 最短路问题即,给你一张图,让你求出图中两点的最短距离。 这篇文章会讲解 $Dijkstra$、$Spfa$、$Floyd$ 三种算法,让您透彻理解最短路! ## Dijkstra ### 朴素版 题目: ![image](https://img2023.cnblogs.com/blog/ ......
算法

遇到的Docker常用命令

# 遇到的Docker常用命令 ## 一、安装Docker 1)Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先查看系统内核版本是否满足 `uname -r` 2)使用 root 权限登录系统,确保 yum 包更新到最新 `sudo yum update -y` 3)假如安装过 ......
命令 常用 Docker

zlmediakit源码学习(扩展支持算法分析)

在zlmediakit源码基础上继续探索扩展支持算法分析功能。参照上一篇帖子:https://www.cnblogs.com/feixiang-energy/p/17623567.html 算法模型使用opencv自带的人脸检测库:https://github.com/opencv/opencv/b ......
算法 zlmediakit 源码

垃圾收集器ParNew&CMS与底层三色标记算法详解

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复 ......
色标 底层 算法 垃圾 ParNew

社团算法学习笔记

社团算法学习笔记:https://gaowenxin95.github.io/le_graph/%E7%A4%BE%E5%9B%A2%E7%A4%BE%E5%8C%BA%E5%8F%91%E7%8E%B0%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8 ......
算法 社团 笔记

排序算法

## 排序 ### 插入排序 #### 直接插入排序 ```c++ //直接插入排序 void InsertSort(int A[], int n) { int i, j, temp; for (i = 1; i = 0 && A[j] > temp; j--) { //检查所有前面已拍好序的元素 ......
算法

大厂算法每日总结(GB字符串至少交换几次)

//一个数组中只有两种字符'G'和'B', //想要所有的G都放左边, 所有的B都放右边或者所有的B都放左边, 所有的G都放右边 //但只能在相邻字符之间进行交换操作 //返回至少需要交换几次 //方法1 public static int minSteps1(String s) { if(s == ......
字符串 算法 字符

大厂算法每日总结(统计文件夹下的文件)

//统计文件夹下的文件,是文件就累计1,隐藏文件空累计,文件不累计 public static void main(String[]args) { System.out.println(getFileNumber("D:\\重要文件")); } public static int getFileNu ......
文件 算法 文件夹

大厂算法题每日总结(num最近的,2的某次方)

//给定一个非负整数num,不用循环,返回>=num,并离num最近的,2的某次方 public static final int tableSizeFor(int n) { n--; n |=n >>>1;//>>>不带符号右移 n |=n >>>2; n |=n >>>4; n |=n >>>8 ......
算法 num

大厂算法题每日总结(绳子最大能盖的数组节点)

//绳子最大能盖的数组节点 public static void main(String[] args) { int[] arr = {1,4,7,9,60}; System.out.println(maxPoint2(arr,50)); } public static int maxPoint(i ......
数组 节点 绳子 算法

fs常用方法

`fs` 是 Node.js 中用于文件系统操作的模块。以下是一些常用的 `fs` 方法及其使用示例: 1. `fs.readFile(path, options, callback)`:读取文件内容。参数 `path` 是文件路径,`options` 是一个可选的配置对象,`callback` 是 ......
常用 方法

代码随想录算法训练营第二十四天| 理论基础 77. 组合

理论基础 卡哥建议:其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。 题目链接/文章讲解:https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86% ......
随想录 训练营 随想 算法 理论

代码随想录算法训练营第二十三天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结

669. 修剪二叉搜索树 卡哥建议:这道题目比较难,比 添加增加和删除节点难的多,建议先看视频理解。 题目链接/文章讲解:https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6 ......
随想录 训练营 数组 随想 算法

【面试宝典】Git 版本控制常用命令

# 一. Git 概述 - [Git](https://git-scm.com/book/zh/v2) 是目前世界上最先进的分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),包括: - 代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本 - ......
宝典 命令 常用 版本 Git

代码随想录算法训练营第二十二天| 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先 卡哥建议:相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性。 题目链接/文章讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%9 ......
随想录 训练营 节点 祖先 随想

【算法-二分查找】实现过程、C++代码示例以及实际应用

### 二分查找简介: 也称为折半查找,是一个在已排序数组中查找特定元素的搜索算法。它的工作原理是将`有序数组`分成两半,然后检查目标值是在左半部分还是右半部分,然后在所选择的那部分中继续查找。这一过程将不断地重复,直到找到目标值或确定目标值不在数组中。 ### 实现过程: ```bash 1.初始 ......
示例 算法 实际 过程 代码