分量 算法 笔记tarjan

【学习笔记】(25) 可持久化数据结构

可持久化线段树(主席树) 主席树,一个数据结构,能访问到历史版本的数据,常用于可持久化和区间k大值,是线段树的一个升级版。 可持久化的意思是可以访问任意版本的数据,一眼想到的暴力做法就是开n个数组来记录,这显然是不可取的。 那么我们考虑优化。若只有单点修改,不难发现每两个版本的差别最多为1,那么我们 ......
数据结构 结构 笔记 数据 25

5 排序算法总结

5 排序算法总结 首先总结表如下: 排序方法 平均时间复杂度 最好情况 最坏情况 空间复杂度 是否稳定 排序方式 冒泡排序 \(O(n^2)\) \(O(n)\) \(O(n^2)\) \(O(1)\) 稳定 内部排序 选择排序 \(O(n^2)\) \(O(n^2)\) \(O(n^2)\) \( ......
算法

2023“钉耙编程”中国大学生算法设计超级联赛(5)

1001 Typhoon 题意: 给你台风的轨迹坐标以及避难所的坐标,台风的半径不可预测,求让每个避难所不安全的最小台风半径是多少。 分析: 枚举每个点到所有“线段”的距离取个min。 代码: 附上队友的代码(懒): #include <bits/stdc++.h> #include <math.h ......
钉耙 算法 联赛 大学生 大学

《信息安全系统设计与实现》第一周学习笔记

《信息安全系统设计与实现》第一周学习笔记 第一章 关于本书 介绍Unix/Linux的功能,着重探讨了编程实践,让学生通过实践来练习系统编程,涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统。 系统编程的作用 系统编程是计算机 ......
笔记 系统 信息

学习笔记1

学习笔记1 第一章 1.1~1.11 这些内容主要介绍了linux和unix的一些历史和基本特征,现在汇总如下 Linux和Unix都是操作系统家族,它们有一些联系和区别: 联系: Linux是基于Unix设计的操作系统,因此它们有一些共同的概念和结构。 Linux借用了Unix的许多命令和工具,因 ......
笔记

Springboot笔记

组合注解@Spring BootApplication 来代替@EnableAutoConfiguration和@ComponentScan @EnableAutoConfiguration @ComponentScan public class App { public static void m ......
Springboot 笔记

LeetCode刷题笔记

算法 1.差分数组+前缀和 1589. 所有排列中的最大和 - 力扣(LeetCode) 对于每一次遍历都有m个数需要加1,如果对这些数遍历,则需要O(m)复杂度,此时可以记录这m个数的差分数组: ​ 这样就可以把时间复杂度缩小到O(1),之后求前缀和就可以得到原来的数组。 2.线性筛(欧拉筛)求素 ......
LeetCode 笔记

学习linux系统中的一些笔记(持续更新)

快捷键: CTRL+ALT+T 打开终端 CTRL+SHIFT+T 新建标签页 ALT+数字N 终端中切换到第N个标签页 TAB 终端中命令补全,输入开头补全 上下键盘 切换命令历史 CTRL+C 中断程序运行Linux命令 命令格式:command [option] [arguments] (选项 ......
笔记 系统 linux

二分笔记

二分优点,加快在有序数列中,蓝红区域的扩展,朴素算法缓慢进行.如何扩展,用灰色区域 的中点来判断,然后扩展颜色区域,灰色区域会不断减少,只要logn次就能把灰色区域长度 缩小为0 l在哪里,哪里就是蓝色,r同理,假设没有蓝色区域,赋值0(保留了一个位置)会导致,扩展过程中,红色一直扩展 直到两者相遇 ......
笔记

CMU15721 笔记:Project 1 - Foreign Data Wrapper

CMU 15-721 Project 1 - Foreign Data Wrapper Pre 2003 年,SQL 标准中增加了一个访问远程数据的规范,称为外部数据的 SQL 管理(SQL/MED)。从 9.1 版开始,PostgreSQL 就开始开发这个特性来实现 SQL/MED 的一部分。在 ......
Project Foreign Wrapper 笔记 15721

第一、二章学习笔记

Unix/Linux系统编程学习笔记第一章、第二章 知识点归纳以及最有收获的内容 一. 进程与线程 Unix/Linux系统中,进程是程序的执行实例,而线程是进程内的执行单元。进程之间通常是独立的,而线程共享进程的资源。最大的收获是理解了进程与线程之间的区别,以及它们如何协同工作。 进程(Proce ......
笔记

机器学习算法原理实现——决策树里根据信息增益选择特征

先说熵的定义: 再看信息增益 信息增益是一种用于特征选择的指标,用于衡量特征对于数据集分类的贡献程度。它基于信息熵的概念,通过比较特征划分前后的信息熵差异来评估特征的重要性。信息熵是衡量数据集纯度的指标,表示数据集中的不确定性或混乱程度。信息熵越高,数据集的不确定性越大。 上述例子计算错误,gpt识 ......
算法 特征 原理 机器 信息

代码随想录算法训练营第四天| 24. 两两交换链表中的节点, 19.删除链表的倒数第N个结点,面试题02.07.链表相交,142.环形链表Ⅱ

24. 两两交换链表中的节点 mydemo(超时) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt ......
随想录 结点 环形 训练营 节点

《算法图解》的读书体会

最近工作有点内耗严重,经常头痛,静下心来读一本书架里的书,好久没有练算法了,程序员算法还是不能丢,在这里分享读书体会。有时候看一本书并不一定是抱着学习的心思去读,那样太累,学习太枯燥了,抱着玩的心态去读,更能让我读下去。如果遇到问题,绕开它,我们不一定要解决问题,逃避问题也是处理问题的一种方式。 下 ......
算法

补环境框架笔记

补环境框架笔记 1.浏览器环境下一些特殊的变量 window self window top window.self self.top.window document.all 能得到HTMLAllCollection对象 typeof document.all 却是 undefined 2.fidd ......
框架 环境 笔记

中国剩余定理 学习笔记

中国剩余定理(CRT) 中国剩余定理 (Chinese Remainder Theorem, CRT) 可求解如下形式的一元线性同余方程组(其中 \(m_1, m_2, m_3,\cdots\) 两两互质): \[\left\{ \begin{array}{rcl} x \equiv a_1 \bm ......
定理 笔记

RBAC(用户、角色、权限)模型学习笔记一

目录RBAC(用户、角色、权限)模型学习笔记一权限系统与RBAC模型概述RBAC的组成RBAC支持的安全原则RBAC的优缺点RBAC的3种模型RBAC0RBAC1RBAC2如何设计RBACRBAC的功能模块RBAC执行流程RBAC数据库设计实用的RBAC模型的数据库建模Mysql RBAC模型一(用 ......
模型 权限 角色 笔记 用户

机器学习算法原理实现——k近邻算法 KNN

K近邻算法是一种基于距离度量的数据分类模型,其基本做法是首先确定输入实例的[插图]个最近邻实例,然后利用这[插图]个训练实例的多数所属的类别来预测新的输入实例所属类别。 k最近邻(k-nearest neighbors,KNN)算法是一种基本的分类和回归算法。其基本原理如下:1. 训练阶段:将训练样 ......
算法 近邻 原理 机器 KNN

C语言学习笔记3.4章

3.1.2习题解析 BCD:一个字节表示两位数,4个比特位表示一位。例:0x12表示的是十进制的18; 所以18如何变为BCD所表示的数呢:18/16=1;18%16=2,故为 1*10+2=12。 题:输入一个三位数的数,逆序输出该数: 不能直接在printf中%d%d%d,因为这样700输出,就 ......
语言学习 语言 笔记 3.4

算法训练day4: LeetCode 24

算法训练day4: LeetCode 24.19.142.面试题07.02 24.两两交换链表中的结点 题目 题目24. 两两交换链表中的节点 - 力扣(LeetCode) 题解 讲解代码随想录 (programmercarl.com) 第一想法:模拟的方法,使用三个指针,将结点两两交换。 clas ......
算法 LeetCode day4 day 24

C语言学习笔记1.2章

1.初识C语言 1.计算机:程序的执行:编译(程序翻译所写的程序 将其翻译成机器语言)和解释(由一个程序来发出我们所写的程序中的指令)语言本身无编译和解释之分,是执行方式的不同。解释:特殊的计算性能 编译:稳定的性能 2.什么是c:由B语言发展而来的一门语言 3.C语言 用在:操作系统 嵌入式系统 ......
语言学习 语言 笔记 1.2

分治算法

分治算法是一种解决问题的策略,将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。然后,求解这些子问题,再合并这些子问题的解以得到原问题的解。例如,二分法就是一种简单的分治算法。 以下是一个简单的分治算法Java实现示例,该示例使用分治算法计算数组中的最大和最小元素 ......
算法

代码随想录算法训练营第三天

代码随想录算法训练营第三天 | LeetCode 203(移除链表元素) LeetCode 707(设计链表) LeetCode 206(反转链表) 203:移除链表元素 LeetCode 203(移除链表元素) 思路 遍历链表 等值删除 双指针 方法一:虚拟头节点 方法二:直接在原链表删除 方法一 ......
随想录 训练营 随想 算法 代码

[学习笔记] CSP-S 初赛理论

LAST UPD:2023/09/09 内容非常杂乱,算是初赛前的总结吧qwq 排序算法比较 插入排序,冒泡排序,选择排序 : \(O(n^2)\) 其他非线性排序的时间复杂度为 \(O(n)\) 线性排序的时间复杂度为 \(O(n)\) 。 稳定性比较: 插入,冒泡,二叉树,归并以及其他的线性排序 ......
初赛 理论 笔记 CSP-S CSP

离散数学笔记——集合

离散数学笔记——集合 集合的概念 集合是由一些确定的元素所组成的整体,其中的元素可以是任何事物 定义:A={a1,a2,a3,...,an} 表示集合的名称,{} 表示集合的符号。 a1, a2, a3, ... an 表示集合中的元素 x ∈ A 表示元素 x 属于集合 A 集合的特点 集合没有重 ......
数学 笔记

软件设计开发笔记4:QT操作SQLite数据库

有时候我们需要在软件中记录一些历史数据以便于对数据的查询。而我们希望软件不能太复杂,体量也不要太大,这个时候就需要如SQLite这样轻量级的数据库。这篇中我们就来讨论如何在使用QT开发应用是操作SQLite数据库。 0、概述 SQLite是一款开源、轻量级、跨平台的数据库,无需Server,无需安装 ......
设计开发 数据库 笔记 数据 SQLite

Seeing What You Said: Talking Face Generation Guided by a Lip Reading Expert 论文笔记

最近一直在看虚拟人像. 最关键的论文就是wav2lip. 目前项目中也是用的这个. 一个视频加一个语音, 就可以生成用视频里面的头,加语音的新视频. 现在看这篇论文Seeing What You Said: Talking Face Generation Guided by a Lip Readin ......
Generation Reading Talking 笔记 Seeing

python学习笔记-celery介绍和使用

一、celery介绍 1、简介 celery是分布式任务队列celery在执行任务时需要一个消息中间件来接收和发送消息,以及存储结果,一般使用rabbitmq,redis celery的优先:简单:配置和使用比较简单高可用:当任务失败或执行过程中连接中断,celery会自动尝试重新执行快速:每分钟可 ......
笔记 python celery

Node.js+Express+Koa2开发接口学习笔记(一)

http请求概述 浏览器输入一个地址后,进行DNS解析(通过域名查找对应的IP地址),与server建立TCP连接(进行三次握手),发送http请求 server接收到http请求,处理,并返回 客户端(这里指浏览器)接收到返回数据,处理数据(如渲染页面,执行js) 客户端与服务器的三次握手大致可以 ......
接口 Express 笔记 Node Koa2