分量 算法 笔记tarjan

笔试算法题分享

草船借箭 题目: 题目描述: 程序员小周同学这几天在看《三国演义》。今天他看到了“草船借箭”这一回,在钦佩诸葛亮巧借东风向曹操“借"箭的同 时,小周想到这么一个问题: 如果诸葛亮一共派出了N条放置草人的船来“借"箭。“悚慨”的曹操向第1条草船上射了A支 箭、第2条草船上射了B支箭,第3条草船上射的箭 ......
笔试 算法

P7914 做题笔记

题目链接 CSP 考前做下历年真题。 转移很多,我刚开始设 $dp1[i][j]$ 为 $i$ 到 $j$ 合法的方案数,$dp2[i][j]$ 为左边一段 $*$,右边是合法的方案数,以及 $dp3[i][j]$,右边是 $*$,左边合法。 然后就进坑了,比如 $()()()$,会在第二个位置统计 ......
笔记 P7914 7914

2023/10/16 学习笔记

网络层协议与解析 网络层的功能: 定义了基于IP协议的逻辑地址 连接不同的媒介类型 选择数据通过网络的最佳路径 IP数据包格式: 注解: 版本(4) 指IP协议版本。并且通过双方使用的版本必须一致,目前我们使用的是ipv4,表示为0100 十进制是4首部长度(4) IP数据包的包头长度(不包括数据) ......
笔记 2023 10 16

微机原理笔记 - chap2 - Intel单核/多核处理器

单核处理器(8086/8088) 8086/8088 功能特性 第一次将流水线思想引进微处理器:指令级流水。 存储器分段管理机制引入处理器,扩大寻址能力。 内存地址分段:寄存器最多存 16 位,故有些寄存器用来当段寄存器,代表着地址的高 16 位(低 4 位默认为 0 )。再加上段内偏移寄存器的值( ......
微机 处理器 原理 笔记 chap2

微机原理笔记 - chap3 - Intel处理器指令系统及汇编语言

汇编语言基础 数据定义: 数据传送、算术运算、跳转指令 MOV 指令 “先目的操作数,再源操作数。” MOV 指令需要遵循的规则: 两个操作数的尺寸必须一致。 两个操作数不能同时为内存操作数。 mov reg, reg mov mem, reg mov reg, mem mov mem, imm m ......
微机 指令 处理器 原理 语言

微机原理笔记 - chap1 - 绪论

Intel微处理器的发展 1978年:8086/8088微处理器出现,首枚16位微处理器。 微型计算机概述 计算机加电以后,首先运行 BIOS(Basic Input Output System) 系统,进行硬件的检查、初始化(加电时寄存器的内容是随机的)、给操作系统提供编程接口等。 通过硬件驱动程 ......
绪论 微机 原理 笔记 chap1

数据库系统笔记 - chap2 - 关系模型

关系数据结构 关系代数 A set of fundamental operations to retrieve and manipulate tuples in a relation. These operations take one or some relations as inputs, an ......
模型 数据库 笔记 数据 系统

数据库系统笔记 - chap3 - SQL

Introduction to SQL SQL(Structured Query Language),是关系数据库的标准查询语言。 SQL 的特点: 综合统一 SQL 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言 (DCL)功能于一体。 高度非过程化 SQL 只要提出“做什么”,而 ......
数据库 笔记 数据 系统 chap3

数据库系统笔记 - chap1 - 绪论

数据库发展史 人工管理阶段(1950) \(\Rightarrow\) 文件系统阶段(1950-1960) \(\Rightarrow\) 数据库系统阶段(1960-) 数据库管理系统(DBMS)的出现,使得数据存储、数据管理和数据应用分离。 数据库管理系统采用外模式-模式-内模式的三级模式,外模式 ......
绪论 数据库 笔记 数据 系统

《Mastering the FreeRTOS Real Time Kernel》读书笔记(7)事件组

FreeRTOS事件组,总而言之就是很多个二进制信号量的集合,通过使用掩码的方式提取每一位,使多个任务共同合作实现比较复杂的功能。 ......
Mastering FreeRTOS 事件 笔记 Kernel

算法·数学

数学: 证明方法:反证法,双向证明法 质因数 约数: 试除法 约数个数 (a1+1)(a2+1)...(an+1)=\(\prod_1^{约数个数} (a_i+1)\) 约数之和 (p1^0 +p1^1 +...+p1^a1)...=\(\prod_1^{约数个数} \sum_{i=0}^{每个约数 ......
算法 数学 183

文心一言 VS 讯飞星火 VS chatgpt (114)-- 算法导论10.2 7题

七、用go语言,给出一个 O(n)时间的非递归过程,实现对一个含 n个元素的单链表的逆转。要求除存储链表本身所需的空间外,该过程只能使用固定大小的存储空间。 文心一言: 在Go语言中,你可以使用迭代方法来反转一个单链表。这种方法只需要O(1)的额外空间。首先,我们需要定义链表的数据结构: type ......
文心 导论 算法 chatgpt VS

树形dp学习笔记

我们通常采用递归的方式实现树形dp。 对于每个节点,先递归在它的每个子节点上进行dp,在回溯时,从子节点向根节点进行状态转移。 顺序一般为从叶子结点到根节点递推。 题目: 一. P1352 没有上司的舞会 以子树的根作为dp状态的第一维。容易发现,每个员工是否参加至于他的上司是否参加有关。 不妨设 ......
树形 笔记

数据结构与算法 | 数组(Array)

数组(Array) 数组(Array)应该是最基础的数据结构之一,它由相同类型的元素组成的集合,并按照一定的顺序存储在内存中。每个元素都有一个唯一的索引,可以用于访问该元素。 // java 数组示例 int[] numbers1 = {2,0,2,3,9,23}; // 或者 int[] numb ......
数据结构 数组 算法 结构 数据

计算机网络的分组转发算法例题解析

例题展示 例题解决 将题目中要求的ip地址与相对应的子网掩码进行二进制上面的相与即可,若是与目的ip地址一致, 那么就直接跳转到其对应的那个接口; 否则就直接跳转到默认接口; 本题答案为R2; ......
例题 计算机网络 算法

js对象里面添加对象+数组的方法操作~笔记

1. js对象里面添加对象 在js对象里面添加对象有三种方式:直接添加,Object.assign() ,展开运算符(...) (1)直接添加: let obj = { name: 'Tom' }; obj.age = 8 console.log(obj); //输出结果为{ name: 'Tom' ......
对象 数组 笔记 方法

《Mastering the FreeRTOS Real Time Kernel》读书笔记(6)资源管理

7.资源管理(互斥量) 在多任务系统中,如果一个任务开始访问资源,但在从运行状态转换出来之前没有完成访问,则可能会出现错误。如果任务使资源处于不一致状态,则任何其他任务或中断对同一资源的访问都可能导致数据损坏或其他类似问题。 这里的资源管理,应该是指计算机的外设资源,比如LCD显示器,寄存器,内存中 ......

算法--雪花算法

一、简介 雪花算法【Snowflake】是一种分布式唯一ID生成算法。能够生成唯一的,有序列的,高可用的ID,常用于分布式系统中作为全局唯一标识符【GUID】。雪花算法生成的ID是一个64位的整数,其中高位是时间戳,中间位是机器ID,低位是序列号。 二、组成 1、1位符号位:0表示正数,1表示负数( ......
算法 雪花

Java常见集合类学习笔记

List 1.ArrayList Vector LinkedList区别 ​ ArrayList和Vector底层实现基本相同,都是基于数组实现的,只是Vector的方法用synchronized修饰;所以ArrayList是线程不安全的,Vector是线程安全的。 ​ LinkedList底层基于 ......
常见 笔记 Java

Shell脚本学习笔记

导航 目录导航Shell脚本入门脚本格式第一个Shell脚本helloworldShell中的变量系统变量常用系统变量案例实操自定义变量基本语法变量定义规则案例实操特殊变量$n基本语法案例实操特殊变量$#基本语法案例实操特殊变量$*、$@基本语法案例实操特殊变量$?基本语法案例实操运算符基本语法案例 ......
脚本 笔记 Shell

LCA学习笔记

定义 最近公共祖先简称 LCA(Lowest Common Ancestor)。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 求法 有多种求法,目前就学习了倍增和 dfs 序求 LCA ,等后面学新的了再加上。 前置知识: ST 表,dfs 序。 为方便说明,下面全都是求 \ ......
笔记 LCA

分布式一致性算法Raft

raft算法之所以容易理解,其一是他将一致性问题划分成几个子问题,这几个子问题都是独立、可理解和解释的。从传统的思维来讲,对于一个复杂的系统或者工程,都是大化小,分解实现,然后去尝试融合解决整体逻辑。 一、Raft详解 Raft算法是分布式系统开发首选的共识算法。比如现在流行Etcd、Consul、 ......
一致性 分布式 算法 Raft

Security Reduction学习笔记(2):预备知识(群环域,双线性配对,哈希函数)

省略部分可参考密码协议学习笔记(1.4):密码学的一些数学基础 - Isakovsky - 博客园 (cnblogs.com) 有限域: $\mathbb{F}$是有限个元素的集合 若$(\mathbb{F},+,*)$满足某些条件(条件略),则称其为有限域(Finite Field,或称Galoi ......
群环 函数 Reduction Security 笔记

Vue学习笔记(十一):路由管理

1 Vue路由基本使用¶ 1.1 安装¶ Vue中默认并不提供路由功能,需要安装其插件Vue-router,如下所示,其中“@3”表示安装版本3 npm i vue-router@3 1.2 创建路由¶ 在src目录下创建路由文件目录,目录名为“router”,并在该目录下创建“index.js”文 ......
路由 笔记 Vue

《Mastering the FreeRTOS Real Time Kernel》读书笔记(5)中断管理

6.中断管理 在读这一章之前一直有一些疑惑,FreeRTOS中的中断是软中断吗,还是将外部硬中断的触发后,导入FreeRTOS的内部进行调度处理。如果是第一种,软中断和第三章讲的任务有区别吗,还是只是优先级比所有任务高。如果是第二种的话,外部中断的服务函数是不是不能写内容了,FreeRTOS的运行和 ......
Mastering FreeRTOS 笔记 Kernel Real

10月15日《需求分析与系统设计》阅读笔记二

需求分析与系统设计(二)阅读笔记 同样这本书也提到些关于uml“统一建模语言”,除了在上本书中的阅读笔记中所说的外,统一建模语言还是一种通用的、可视化的建模语言,用于对软件系统的人工制品进行详细说明、可视化、构造和文档化。它捕获对必须构建的系统的决策和理解,用于理解、设计、浏览、配置、维护和控制该系 ......
需求 笔记 系统

React学习笔记03-编写第一个react应用程序

react开发需要引入多个依赖文件:react.js,react-dom.js,分别又有开发版本和生成版本,creat-react-app里已经帮我们把这些东西都安装好了。把通过CRA创建的 工程目录下的src目录情况,然后在里面重新创建一个index.js写入以下代码。 //从react的包当中引 ......
应用程序 笔记 程序 React react

C#学习笔记之更改项目名称

在VS中新建一个项目,在设计途中被要求更改项目名称,类似于变更整个解决方案项目名称、引用等等,以下为在设计途中变更项目名称的步骤: 修改项目名称,主要有以下几个步骤: 修改解决方案名称:直接选择解决方案,右键(F2,双击)重命名即可。 修改项目程序集名称和默认命名空间名称:选择解决方案,右键选择项目 ......
名称 笔记 项目

JVM入门笔记

1. JVM介绍 Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java编程语言的运行环境,它是Java最具吸引力的特性之一。 JVM本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件,这就是Java跨平台的本质原因。由于 ......
笔记 JVM

算法分析与设计大课程报告

问题描述 问题背景: 输入法自动更正:当我们输入了一个不正确的词时,输入法就可能自动给我们更正。例如下面的例子: 图 1 提出问题:为什么输入法能够选到正确的那个词呢? 我们的猜想是,可能输入法会找“长得像”的词作为他推荐给用户的,也就是更正的词。那么如何让计算机知道什么叫长得像呢?具体来讲,如何衡 ......
算法 课程 报告