回文 笔记05

【多线程笔记】Channel

在面对 生产者-消费者 的场景下, netcore 提供了一个新的命名空间 System.Threading.Channels 来帮助我们更高效的处理此类问题,有了这个 Channels 存在, 生产者 和 消费者 可以各自处理自己的任务而不相互干扰,有利于两方的并发处理,这篇文章我们就来讨论下如何 ......
线程 Channel 笔记

秦疆的Java课程笔记:75 面向对象 接口的定义与实现

区别 普通类:只有具体实现。 抽象类:具体实现和规范(抽象方法)都有。 接口:只有规范,自己无法写方法。专业的约束。约束和实现分离:面向接口编程。 接口就是规范,定义的是一组规则。 OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么讨论设计模式都只针对具备抽象能力的语言(C++、Java、 ......
接口 对象 课程 笔记 Java

【学习笔记】浅谈 RMQ 与 LCA

- $\text{update 2023.11.14}$:增加 $\text{LCA}$ 求解树上最短路的代码。 $\text{RMQ}$ 定义:区间最值查询,功能类 $\text{st}$ 表,预处理 $O(n\log_2n)$,查询 $O(q)$,总复杂度 $O(n \log _2n+q)$。 ......
笔记 RMQ LCA

圆方树学习笔记

今天在做 ABC318G 这道题,要用到圆方树的知识,于是就去学了圆方树。 学习圆方树首先需要学习点双连通分量以及缩点,此处不多赘述。 圆方树中分两种类型的点:圆点和方点。圆点指的是原来的无向图中的所有点,而方点指的是每一个点双连通分量所代表的点。相当于每一个点双连通分量就是一个方点。将每一个方点向 ......
笔记

C++U3-第05课-C++语言阶段复习

复习学习目标 输入输出 分支结构 多分支和switch语句 循环语句 练习1 一维数组 练习 二维数组 字符数组字符串 函数 sort排序 结构体 成绩排序 【题意分析】 根据成绩从高到低排序,同成绩学号小的排在前面的顺序进行排序 【思路分析】 1.在输入成绩的时候,将每一个人的id等同于当前的i ......
阶段 语言 U3

状压 DP 学习笔记

前言 2023.8.30 开始停课集训。 开始补 \(CSP-S\) 的知识点,先打算来学状压 \(DP\)。 定义 状压 \(DP\) 的全称是状态压缩动态规划,也是动态规划中的一种。但是其与普通 \(DP\) 不同的是它将某种状态(一般为二进制 \(01\) 串,\(1\) 表示选,\(0\) ......
笔记 DP

矩阵学习笔记

前言 蒟蒻刚刚开始学矩阵,有些东西可能理解得不是特别好。 矩阵的定义 在 \(c\)++ 中,矩阵其实就是一个 \(n*m\),可以做运算的二维数组。也是运算的中的一种基本单位。 特殊的矩阵 在矩阵的运算过程中,可能会用到一些特殊的矩阵的名称,以下是比较常见的一些特殊矩阵: 同型矩阵:两个矩阵,行数 ......
矩阵 笔记

分块学习笔记

定义 分块是一种将一些东西分成若干块的一种思想,有分块,数论分块(可能不太算),树分块等等。而分块的这种思想可以优化时间复杂度,一般情况下为 \(O( \sqrt n)\),具体取决于块长的大小。 分块 对数组是分块当中最简单一种。首先我们设块长为 \(s\),那么数组一共就被分成了\(n/s\) ......
笔记

Tarjan 学习笔记

这里讲一下 \(tarjan\) 算法。主要包括有向图的强连通分量,无向图的边双连通分量与点双连通分量以及缩点。 有向图的强连通分量 首先我们需要了解几个定义。(以下说法均针对有向图) 连通分量:在一个块中,任意两个点之间能够互相到达。即 \(u\) 能到 \(v\),\(v\) 也能到 \(u\) ......
笔记 Tarjan

Dijkstra学习笔记

模板题:P4779 Dijkstra算法 \(Dijstra\)算法是一种求解非负权图上单源最短路径的算法,这种算法不可以解决负环问题。 做法 首先要定义松弛操作。对于一条边(\(u,v\)),松弛操作对应下面的运算:\(dis_{v}\) = \(dis_{u}\) + \(w_{u,v}\)。 ......
Dijkstra 笔记

ST表学习笔记

模板题:P3865 定义 \(ST\)表是一种解决可重复贡献的问题的数据结构。可重复贡献问题大致指,对于一种运算,重复这种运算并不影响最终的答案,比如\(max(a,a) = a\),\(gcd(a,a) = a\)。常见的可重复贡献问题有:区间\(max\),区间\(min\),区间\(gcd\) ......
笔记

c#学习笔记-------------------------readonly修饰符

一、ReadOnly关键字 MSDN 官方的解释 readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中. 具体意思是: readonly是一个修饰字段的关键字:被它修饰的字段只有在初 ......
readonly 笔记

rust语言_学习笔记

rust语言_学习笔记 转载注明来源: 本文链接 来自osnosn的博客,写于 2023-12-10. 安装 rust 【安装_rustup_cargo_rustc_交叉编译测试】 cargo 的 config 设置 更换 ustc 源,使用代理。设置缺省registry。见【rust cargo ......
语言 笔记 rust

网络流学习笔记

这个必须写。 先梳理一下,到时候再整理,证明先简写或者跳过。 流网络:一个有向图,每条边有一个容量,有一个源点 \(s\) 和一个汇点 \(t\)。每条边有一个属性称为容量,如果把流网络抽象成水管的话,那么边的容量就是每根水管的每秒最大承受的进水量。每条边也有一个流量,这个值大于等于 \(0\) 且 ......
笔记 网络

大数据实验报告 | 填坑笔记

利用Java API进行这个查找操作的时候,总是顺序输出,考虑是代码的原因 没有进行判定,所以只要不为空都输出出来了,进行条件判定指定行键之后,就可以了! redis启动不起来,考虑换个端口 input目录的创建过程遇到一些小问题 删除不掉就用完整目录删 地址对应正确,否则拒绝连接 一直连接不上,我 ......
据实 大数 笔记 报告

阅读笔记《掌握需求过程》2

这次我们从第三章开始看,项目启动有关的事项。这一章包含12小节,即icebreaker项目(就是本书中为了方便读者理解需求过程,始终贯穿的实例),产品目标——我们需要该产品的原因是什么,谁为它付钱:客户和顾客,用户——理解他们,风险承担者和顾问,需求限制条件,为您的宝宝命名,设定范围,该产品的成本是 ......
需求 过程 笔记

Programming Abstractions in C阅读笔记:p235-p241

《Programming Abstractions in C》学习第66天,p235-p241总结。 一、技术总结 1.backtracking algorithm(回溯算法) (1)定义 p236, For many real-world problem, the solution process ......
Abstractions Programming 笔记 235 241

读程序员的README笔记15_敏捷计划

1. 行为准则 2. 敏捷开发 2.1. 软件开发应该有计划和与之相应的跟踪 2.1.1. 你的队友想知道你在做什么,这样他们就能与你有效地配合 2.2. 敏捷开发是一种软件开发模型,被广泛采用于快速交付优质软件的场景 2.3. 要理解敏捷开发实践,你必须要首先理解敏捷哲学 2.4. 敏捷开发诞生于 ......
程序员 笔记 程序 README 15

Docker基础学习笔记

一、Docker: Docker是一个开源的应用容器引擎,可以用于创建、部署和运行应用程序。 二、Docker与传统虚拟机: 1、Docker与传统虚拟化方式的不同之处: (1)、传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程; (2)、容器相较于传统虚拟 ......
基础 笔记 Docker

[学习笔记]珂朵莉树

目录 0x00:介绍 1x00:思想 1x01:节点保存 1x02:核心操作 split 1x03:推平操作 assign 2x00:例题 2x01:CF896C 2x02:CF915E 3x00:总结 0x00 介绍 珂朵莉树(Chtholly Tree),又称 ODT(Old Driver Tr ......
笔记

《架构师之路:软件架构之美》阅读笔记三

《架构师之路:软件架构之美》是一本关于软件架构的入门书籍,作者李家智从自己的实践经验出发,结合了业内一些经典的案例和经验,系统地介绍了软件架构的基本概念、原则和方法。 本书主要分为三个部分:第一部分介绍了软件架构的基本概念和原则;第二部分详细介绍了一些常用的软件架构模式,如分层架构、微服务架构等;第 ......
架构 笔记 软件

LightGCL Simple Yet Effective Graph Contrastive Learning For Recommendation论文阅读笔记

Abstract 目前的图对比学习方法都存在一些问题,它们要么对用户-项目交互图执行随机增强,要么依赖于基于启发式的增强技术(例如用户聚类)来生成对比视图。这些方法都不能很好的保留内在的语义结构,而且很容易受到噪声扰动的影响。所以我们提出了一个图对比学习范式LightGCL来减轻基于CL的推荐者的通 ......

阅读笔记

第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求。需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视图,通常情况下得首先识别类,方法 ......
笔记

[Vue] vue学习笔记(11): 自定义事件 & 全局事件总线

组件的自定义事件 通过props可以将信息传递给子组件,那么当子组件需要向上传递信息的时候呢, 除了使用props传递函数类的方法,我们还可以用自定义事件 通过父组件给子组件绑定一个事件someEvent // App.vue <Student @someEvent='getStudentName' ......
事件 总线 全局 笔记 Vue

《需求分析与系统设计》阅读笔记02

第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求。需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视图,通常情况下得首先识别类,方法 ......
需求 笔记 系统

《程序员修炼之道:从小工到专家》阅读笔记(7)

《程序员修炼之道:从小工到专家》阅读笔记(7) 阅读《程序员修炼之道:从小工到专家》第七章后,我深感编程不仅是一门技术,更是一种艺术。这一章主要讲述了如何使代码保持灵活、易于改编和复用,以及如何使代码易于理解,从而延长其生命力。 首先,代码的灵活性是至关重要的。随着技术的不断进步和需求的变化,代码也 ......
小工 程序员 笔记 程序 专家

《程序员修炼之道:从小工到专家》阅读笔记(8)

《程序员修炼之道:从小工到专家》第八章读后感 阅读完《程序员修炼之道:从小工到专家》第八章后,我深感其中的内容对于一个想要成为优秀程序员的人来说是至关重要的。这一章主要讨论了如何使代码保持灵活、易于改编和复用,以及如何使代码易于理解,从而使其生命力更久。 首先,第八章强调了代码灵活性的重要性。通过采 ......
小工 程序员 笔记 程序 专家

《程序员修炼之道:从小工到专家》阅读笔记(4)

《程序员修炼之道:从小工到专家》阅读笔记(4) 在阅读《程序员修炼之道:从小工到专家》第四章的过程中,我深受启发。这一章节的内容围绕代码的可维护性进行深入探讨,强调了代码不仅仅是实现功能的工具,更是程序员与同事、未来自己沟通的桥梁。 首先,我深感使代码可维护的重要性。代码就像一本书,不仅要写给机器阅 ......
小工 程序员 笔记 程序 专家

《程序员修炼之道:从小工到专家》阅读笔记(5)

《程序员修炼之道:从小工到专家》阅读笔记(5) 读完《程序员修炼之道:从小工到专家》的第五章,我深感其中的内容对于一个程序员来说,具有非常宝贵的指导意义。这一章主要探讨了如何使代码保持灵活、易于改编和复用,以及如何使代码易于理解,从而延长其生命力。 首先,这一章强调了代码的可维护性和可读性。一个好的 ......
小工 程序员 笔记 程序 专家

《程序员修炼之道:从小工到专家》阅读笔记(6)

《程序员修炼之道:从小工到专家》阅读笔记(6) 在阅读《程序员修炼之道:从小工到专家》第六章之后,我深感其中所蕴含的智慧和启示。这一章主要探讨了如何使代码具有可读性和可维护性,这对于我们这些从事编程工作的人来说,是非常重要的。 首先,作者强调了代码可读性的重要性。代码不仅仅是一组指令的集合,更是程序 ......
小工 程序员 笔记 程序 专家