分量 算法 笔记tarjan
构建之法阅读笔记07
第十章 典型用户和场景 10.1 典型用户和典型场景 ①怎样定义典型用户? 我们首先要定义用户的角色。正如戏剧中有正面和反面的角色,软件系统中也有受欢迎的和不受欢迎的典型用户。 受欢迎的典型用户——指那些按设计者的期望使用系统的用户,如“网站的购物者” 不受欢迎的典型用户——指那些有不正当目的的用户 ......
《程序员修炼之道--从小工到专家》阅读笔记03
本次阅读的是第四章和第五章,下面是阅读笔记和心得体会。 第四章:注重实践本章主要强调的是从理论到实践的转变,推崇实践、实验和原型设计等方式来使软件开发更加高效和成功。作者说,软件开发是一项具有实验性质的工作,我们需要反复实验,检查和验证我们的判断和设计是否符合预期。同时,还应该注重代码质量,写出简单 ......
选择排序算法之泛型优化
选择排序算法 工作原理: 每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。 这个算法的时间复杂度为O(n²),空间复杂度为O(1)。 /** * @Author: 翰林猿 * @Description ......
lucas定理 学习笔记
# lucas定理 学习笔记 [TOC] ## 介绍 > lucas定理用于解决形如 $C_n^m \mod p (p\in prime)$ 的问题。 设 $n,m$ 用 $p$ 进制来表示为:$(n_an_{a-1}\cdots n_0)_p , (m_am_{a-1}\cdots m_0)_p$ ......
代码随想录算法训练营第十五天|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树
【参考链接】 102. 二叉树的层序遍历 【注意】 1.队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 2.遍历的时候要记录队列的大小。就可以知道哪些元素是第几层的。 3.记得首先要判断 ......
[学习笔记] dsu on tree
- 适用于动态维护子树信息 - 流程 类似树链剖分定义重儿子,轻重链。 先便历轻边子树,不保存信息(删)。 最后便历重儿子子树,保存重儿子信息。 再加入轻儿子子树即可得到子树信息了。 复杂度:一个点被加/删的次数为轻边数( $logn$ )。 - code 点击查看代码 ``` void solve ......
PMP 学习笔记(二)
研究表明,排名2%即优秀的项目经理之所以脱颖而出,是因为他们展现出了超凡的人际关系和沟通技能以及积极的态度。 *PMI人才三角:技术项目管理、领导力、战略和商务管理。为了最有效的开展工作,项目经理需要平衡这三种技能。 项目经理的关键技能: 重点关注所管理的项目的关键技术项目管理要素,简单讲就是随时准 ......
PMP 学习笔记(三)
项目范围:为交付具有规定特性与功能的产品、服务或成果而必须完成的工作。项目范围有时也包括产品范围 预测型项目在每次迭代中,都会重复开展三个过程:收集需求、定义范围、创建WBS。 敏捷型项目中每次迭代中,都会重复开张两个过程:确认范围、控制范围。 对于需求不断变化、风险大或不确定性高的项目,在项目开始 ......
PPO算法的一个简单实现:对话机器人
综上,PPO算法是一种具体的Actor-Critic算法实现,比如在对话机器人中,输入的prompt是state,输出的response是action,想要得到的策略就是怎么从prompt生成action能够得到最大的reward,也就是拟合人类的偏好。具体实现时,可以按如下两大步骤实现 首先定义4 ......
算法导论阅读记录
#### $\color{red}{不正确的算法如果其错误率可以被控制的情况下肯是很有用的}$ [动态图解排序算法](https://visualgo.net/zh/sorting) ### 插入排序 对少量元素的排序较为有效,每次选择一个待排序元素,依次与已排序集合比较 伪代码 ``` //从第2 ......
笔记
#### 判断素数: ```cpp #include #include using namespace std; bool su(int n){ int i=2; if(n==1) return false; for(i=2;isqrt(n)) return true; else return fa ......
「学习笔记」概率生成函数
[学习于这篇博客](https://www.cnblogs.com/HenryHuang-Never-Settle/p/14702997.html) *** 为 $X$ 为仅取非负整数的随机变量,那么 $X$ 的生成函数 $F_X(x)=\sum_{k\geqslant 0}P_k x^k$。 * ......
SpringBoot学习笔记
1、基本概念 Spring Boot 是一个基于 Spring 框架的开源框架,它简化了 Spring 应用程序的配置和部署过程,并提供了很多常用功能的开箱即用的解决方案。 Spring Boot 采用约定大于配置(Convention Over Configuration)的理念,可以快速构建可独 ......
Java笔记(八):单例模式
### 懒汉式 懒汉式单例模式在第一次调用的时候进行实例化。 #### 1. 适用于单线程环境(不推荐) 此方式在单线程的时候工作正常,但在多线程的情况下就有问题了。如果两个线程同时运行到判断instance是否为null的if语句,并且instance的确没有被创建时,那么两个线程都会创建一个实例 ......
三维装箱之遗传算法讲解
遗传算法 在达尔文提出来“物竞天择,适者生存”的生物进化理论的基础上,美国Michigan大学教授Jolm Holland在1975年作为第一个提出了基本遗传算法的概念,遗传算法实质上就是一种随机搜索类型的算法,又称random searchingalgorithms,这种算法所使用机制大致和生物自 ......
DAY13笔记及补充
今日默写: 1什么是程序2 Java的产生3 Java发展史4 Java技术平台种类5.JDK安装步骤6.Idea创建项目的步骤7.手写main函数 得分: 补充: 1.开发Java程序步骤: 项目(工程/project)->包(package)->类(class)->方法(())->运行测试 2. ......
【笔记】杂项问题随手记
C语言中<stdio.h>与“stdio.h“的区别: <stdio.h>表示在包含文件目录中去查找(包含文件目录是由用户在设置环境时设置的),而不再源文件目录中查找。 "stdio.h"表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。 <stdio.h>用于引入标准库函数头文件,它 ......
Unity3D高级编程主程手记 学习笔记三:数据表与程序
什么是数据表?有什么用? 数据表相当于一个只读的外部数据库,用来存储着游戏内的各种数据项。数据表是连接了美术、设计策划和程序的桥梁。艺术家用它来配置效果,设计师用它来调整游戏内数值平衡,程序员用它来判断逻辑,所以数据表的意义十分重大。 数据在游戏中存储有几种方式,最初的就是代码数据,所有数据都使用代 ......
非极大值抑制(NMS)算法详解
NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中。 NMS原理是通过筛选出局部极大值得到最优解。 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。 在三维关键点检测中也起到重要作用,筛选掉 ......
003 Python 学习笔记
""" bool运算符、比较运算符学习 bool 运算符 Ture/False,注:Ture本质上是一个数字即1,False是0 使用方式: bool 或 使用比较运算符(>、<、=、>=、<=、==) 字符串可拼接,bool 不可拼接 """ isSuccess = True print(f"is ......
学习笔记-JVM
# JVM的位置 JVM是运行在操作系统上的虚拟机,存在于JRE当中 # JVM的类型 * HotSpot * Sun公司 * 用的基本都是这个 * JRockit * BEA * J9VM * IBM # JVM的体系结构 ![JVM8.png](https://img1.imgtp.com/20 ......
哈希算法
哈希算法 哈希算法 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。 哈希算法的目的就是为了验证原始数据是否被篡改。 Java字符串的h ......
Spring MVC学习笔记
1、基本概念 Spring MVC 是 Spring 中的一个很重要的模块,主要赋予 Spring 快速构建 MVC 架构的 Web 程序的能力。 MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。 Sprin ......
利用gpt学习笔记
如果您想要将 t.sample_type_code 的前两个字符与 td.template_code 进行匹配,可以使用 LEFT() 函数来提取子字符串,并将其作为连接条件。 以下是修改后的查询语句: ```sql SELECT * FROM t_sample_type_template t LE ......
MyBatis体系笔记(未完结)
MyBatis 什么是MyBatis MyBatis是优秀的持久层框架 MyBatis使用XML将SQL与程序解耦,便于维护 MyBatis学习简单,执行高效,是JDBC的延伸 1.MyBatis开发流程 引入MyBatis依赖 创建核心配置文件 创建实体(Entity)类 创建Mapper映射文件 ......
Spring学习笔记
1、基本概念 Spring: 开源的轻量级的java开发框架,目的是提高开发人员的开发效率以及系统的可维护性。 核心功能是支持IOC(控制反转)和AOP(面向切面编程) 可以很方便地对数据库进行访问、可以很方便地集成第三方组件(电子邮件,任务,调度,缓存等等)、对单元测试支持比较好、支持 RESTf ......
学习笔记
变量 typedef pair<int, int> pii; const int N = 4e4 + 10; int n, k, rt, ans, sum; int siz[N], maxp[N], dis[N], ok[N]; bool vis[N]; vector<pii> son[N]; CP ......
第六章.数据结构与算法基础(重点)
上午下午都会考,且难度最高 重点:线性表、树与二叉树、排序与查找、算法基础及常见算法 第一节.数组与稀疏矩阵 数组 主要考察一维二维数组存储地址的计算 一维数组存储地址计算:a+i*len;i为索引号,len是每个位置所占的内存大小 二维数组存储地址计算(分为按行优先和按列优先):如五行五列的二维数 ......
C#学习笔记 -- 结构
1、什么是结构 结构是开发者定义的数据类型, 与类非常相似, 他们有数据成员和函数成员, 虽然与类很相似, 但是有区别 类是引用类型, 而结构是值类型 结构是隐式密封的, 他们不能派生出其他类 struct StructName { Member } 例子 struct Point1101 { pu ......