自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 第一章:开始揭开钢琴的盖子(2)

把程序载进存储器(内存)中,然后用IP指针先指向第一条指令,然后取址执行将程序载入到CPU当中进行解释执行,这是控制器的任务,最后经过运算器的运算就可以得出这个结果。是一个3加2等于5的一个简单加法,在纸带上读入3,在纸带上读入2,在纸带上读入+,将3、2、+依次读进来,控制器模拟成人的大脑进行查表知道是5,在纸带上写下5。一个普通的图灵机就类似于一个会做一道菜的厨师,例如要做运算时,图灵机只会做一种逻辑运算,所以这种图灵机的效率会很低。计算机由五大部件组成:输入设备、输出设备、存储器、运算器、控制器。

2024-04-15 20:31:32 905

原创 第一节:什么是操作系统

操纵系统是计算机硬件和应用之间的一层软件∙\bullet∙方便我们使用硬件,如使用显存等;∙\bullet∙高效的使用硬件,如开多个终端(窗口)。操作系统管理哪些硬件?CPU管理、内存管理、终端管理、磁盘管理、文件管理、网络管理、电源管理、多核管理。

2024-04-14 18:09:47 584

原创 差分约束系统

xj−xi≤wkxj​−xi​≤wk​xj≤wkxixj​≤wk​xi​∙\bullet∙如果dvjdviweijdvj​dvi​weij​,则更新dvjdviweijdvj​dvi​weij​;∙\bullet∙如果dvj≤dviweijdvj​≤dvi​weij​。

2024-03-24 01:41:09 732 1

原创 洛谷 P3379 【模板】最近公共祖先(LCA) 做题反思(2024.3.21)

如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。

2024-03-21 21:24:01 668

原创 C语言指针与地址基础学习(取地址运算)

指针变量可以通过求地址运算符(&)来获得地址值,可以通过指针变量获得地址值,还可以通过标准函数获得地址值。地址的大小是否与int相同取决于编译器。如果运算符&的右边不是变量就不能取地址。获得变量的地址,它的操作数必须是变量。C语言的变量是放在内存里头的。

2024-03-21 01:02:56 288

原创 计算机网络实践学习 思科实验31:配置思科DHCP

默认情况下,标识符是由路由器的接口IP地址中最高的IPv4地址确定的。1、这是一种配置命令,用于在网络设备上启用OSPF协议,并指定该设备在OSPF进程中的标识符号为1。OSPF是一种动态路由协议,用于在IP网络中选择最佳路径,并实现路由表的自动更新。告诉该pool我发送的是192.168.1.0/24整个网络范围的地址,也是进入配置。告诉该pool我发送的是192.168.2.0/24整个网络范围的地址,也是进入配置。表示的是这个区间的ip都不分配给客户机。表示的是这个区间的ip都不分配给客户机。

2024-03-18 22:54:43 2826

原创 Acwing-基础算法课笔记之动态规划(计数类DP)

nn1n2nknn1​n2​...nk​,其中n1≥n2≥≥nkk≥1n1​≥n2​≥...≥nk​k≥1假设要将555555=5555145=1+45145235=2+352351135=1+1+3511351225=1+2+25122511125=1+1+1+251112511111511111。

2024-03-17 22:06:49 737

原创 Acwing-基础算法课笔记之动态规划(区间DP)

设有NNN堆石子排成一排,其编号为111222333,…,NNN。每堆石子有一定的质量,可以用一个整数来描述,现在要将这NNN堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有444堆石子分别为111333555222, 我们可以先合并111222堆,代价为444,得到444555222, 又合并1112。

2024-03-17 14:36:29 892

原创 Acwing-基础算法课笔记之动态规划(线性DP)

给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。给定一个长度为N的数列A,求数量单调递增的子序列的长度最长是多少。A的任意子序列B可表示为BAk1Ak2AkpBAk1​​Ak2​​...Akp​​,其中k1k2⋯kpk1​k2​⋯kp​。

2024-03-17 01:19:14 1351

原创 Acwing-基础算法课笔记之动态规划(背包问题)

01背包中的0和1指的是放与不放,而且不能出现放多个的情况,背包只能放相同物品中的一个;首先是对dijd[i][j]dij数组的解释,该数组表示的是只看前iii个物品,总体积是jjj的情况下,总价值最大是多少;有nnn件物品,每件物品的重量为wiw[i]wi,价值为cic[i]ci。现有一个容量为VVV,的背包,问如何选取物品放入背包,使得背包物品的总价值最大。其中每件物品有无穷件。既然这样,不妨像0-1背包问题那样,先写出状态转移方程,从源头上摸索。

2024-03-14 23:50:35 905

原创 洛谷 P2052 [NOI2011] 道路修建 做题反思(2024.3.11)

由于国家的数量十分庞大,道路的建造方案有很多种,同时每种方案的修建费用难以用人工计算,国王们决定找人设计一个软件,对于给定的建造方案,计算出所需要的费用。为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通。每条道路的修建都要付出一定的费用,这个费用等于道路长度乘以道路两端 的国家个数之差的绝对值。本题关键是需要建立一个状态转移方程,其他的直接用模板套。输出一个整数,表示修建所有道路所需要的总费用。,表示 W 星球上的国家的数量,国家从。图中圆圈里的数字表示国家的编号。

2024-03-11 20:47:49 736

原创 洛谷P1395 会议 做题反思(2024.3.10)

现在村长希望在某个村民家中召开一场会议,村长希望所有村民到会议地点的距离之和最小,那么村长应该要把会议地点设置在哪个村民的家中,并且这个距离总和最小是多少?若有多个节点都满足条件,则选择节点编号最小的那个点。个村民的家联通,每条路径的长度都为。表示村长将会在哪个村民家中举办会议。的家之间存在一条路径。表示距离之和的最小值。

2024-03-10 23:22:23 1967 1

原创 洛谷P5908 猫猫和企鹅 做题反思(2024.3.7)

条道路相连,并且保证从每个居住区出发都可以到达任何一个居住区,并且每条道路的长度都为。号居住区出发,想要去拜访一些小企鹅。可是猫猫非常的懒,它只愿意去距离它在。号居住区外,每个居住区住着一个小企鹅,有一天一只猫猫从。猫猫非常的懒,因此希望你告诉他,他可以拜访多少只小企鹅。一行一个整数,表示猫猫可以拜访多少只小企鹅。个居住区,它们之间有。

2024-03-07 20:54:10 1041 4

原创 简单的进制数的转换

100000102​⇒13010​010​000​010​2​⇒2028​1000​0010​2​⇒8216​。

2024-03-05 14:07:02 816

原创 由数据范围反推算法复杂度以及算法内容

一般ACM或者笔试题的时间限制是1秒或2秒。分治、整体二分、后缀数组、树链剖分、动态树;在这种情况下,C++代码中的操作次数控制在。,最大公约数,快速幂,数位DP;、求凸包、求半平面交、二分、,块状链表、分块、莫队;表示位数,高精度加减,,线段树、树状数组、自动机,常数比较小的。自动机、线性筛素数;

2024-03-05 13:47:13 701

原创 Acwing-基础算法课笔记之数学知识(中国剩余定理)

x≡a1modm1x≡a2modm2x≡a3modm3⋮x≡anmodmn\vdots \\⎩⎨⎧​x≡a1​modm1​x≡a2​modm2​x≡a3​modm3​⋮x≡an​modmn​​,其中m1m_1m1​m2m_2m2​m3m_3m3​⋯\cdots⋯mnm_nmn​两两互质。

2024-03-05 12:34:22 904

原创 同余的性质

此处的d为最大公约数若a1​≡b1​modm,a2​≡b2​modm,则:{a1​a2​≡b1​b2​modma1​−a2​≡b1​−b2​modm​特别的:a1​±k1​≡b1​±k1​modm)a1​a2​≡b1​b2​modm)若a≡bmodm,n为正整数,则an≡bnmod。

2024-03-02 18:18:54 911

原创 Codeforces Round 930 (Div. 2)(A~B)补题

由题可知,蚂蚱只能向右或者是向下移动,并且使得二进制数的值是最小的路径,路径条数不止一条,但二进制数值是一样的。我们可以先从第一行的最后一列和第二行的倒数第二列进行比较,设。再从第二行的第一列和第一行的第二列进行比较,设。,则将第一行原本的长度减一,即。,如果第一行的最后一列是。,第二行的倒数第二列是。,如果第二行的第一列是。,根据以上步骤以此类推。

2024-03-01 20:43:00 705 1

原创 Acwing-基础算法课笔记之数学知识(扩展欧几里得算法)

给定nnn组数据aia_iai​bib_ibi​mim_imi​,对于每组数求出一个xix_ixi​,使其满足ai×xi≡bimodai​×xi​≡bi​modmim_i)mi​。

2024-02-29 21:42:26 1066

原创 Acwing-基础算法课笔记之数学知识(快速幂)

若整数bbbmmm互质,并且对于任意的整数aaa,如果满足ba0b\%a=0ba0,则存在一个整数xxx,使得ab≡a×xmodba​≡a×xmodmm)m,则称xxx为bbb的模mmm乘法逆元,记为xb−1x=b^{-1}xb−1然后有bx≡1modbx≡1modmm)m引入乘法逆元,就是为了解决模意义下的除法问题。bbb存在乘法逆元的充要条件是bbb与模数mmm。

2024-02-28 23:26:57 1254 1

原创 Acwing-基础算法课笔记之数学知识(欧拉函数)

1∼N1\sim N1∼N中与NNN互质的数的个数被称为欧拉函数,记为ϕN\phi(N)ϕN。若在算数基本定理中,Np1a1p2a2p3a3⋅⋅⋅pmamNp1a1​​p2a2​​p3a3​​⋅⋅⋅pmam​​ϕNN×p1−1p1×p2−1p2×⋅⋅⋅×pm−1pmϕNN×p1​p1​−1​×p2​。

2024-02-27 17:07:56 952 1

原创 Acwing-基础算法课笔记之数学知识(约数)

利用短除法分解质因数设要求的数是NNN利用短除法分解质因数得Np1n1⋅p2n2⋅p3n3⋅⋅⋅⋅⋅pnnαNp1n1​​⋅p2n2​​⋅p3n3​​⋅⋅⋅⋅⋅pnnα​​所以NNN的约数个数为n11⋅n21⋅n31⋅⋅⋅⋅⋅nα1n1​1⋅n2​1⋅n3​1⋅⋅⋅⋅⋅nα​1利用短除法分解质因数。

2024-02-26 23:56:52 1043 1

原创 Acwing-基础算法课笔记之数学知识(质数)

在大于1的整数中,如果只包含1和本身这两个约数,就被成为质数,或者叫素数。

2024-02-17 21:08:37 1059 1

原创 Acwing-基础算法课笔记之搜索与图论(Kruskal算法)

Kruskal算法的原理简单直接,有以下两个基本操作:(1)对边的长度贪心并加如T中。先对边长排序,一般直接用sort()函数排序,然后依次把最短的边加入T中。(2)判断圈。每次加入新的边,判断它是否和已经加入T的边形成了圈,也就是判断连通性。用BFS或DFS也能判断,但是最高效的方法是并查集,并查集是Kruskal算法的绝配。Kruskal算法复杂度分析:1、主要操作是排序,复杂度为Omlog⁡2mOmlog2​m;2、用并查集能以OmO(m)Om。

2024-01-27 03:06:55 725

原创 Acwing-基础算法课笔记之搜索与图论(Prim算法)

Prim算法的思想和Dijkstra算法基本相同,只有一个区别:Dijkstra算法需要更新集合中的所有点到起点的距离,而Prim算法不需要。和Dijkstra算法一样,Prim算法编码时如果用优先队列查找集合中最近的点,能优先算法,此时总时间复杂度为Omlog⁡2nOmlog2​n。

2024-01-25 21:30:25 895

原创 Acwing-基础算法课笔记之搜索与图论(Floyd算法)

Floyd算法就是利用中间节点来更新两节点间的距离,最后在求出最短路径。

2024-01-25 00:39:07 526

原创 Acwing-基础算法课笔记之搜索与图论(spfa算法)

单源最短路径算法,处理负权边的spfa算法,一般时间复杂度为OmO(m)Om,最坏为OnmO(nm)Onm。1、建立一个队列,初始化队列里只有起始点(源点);2、在建立一个表格(dist)记录起始点到所有点的最短路径(该表格的初始值要赋为无穷大,该点到他本身的路径赋为0);3、然后执行松弛操作,用队列里有的点作为起始点去刷新到所有点的最短路,如果刷新成功且被刷新点不在队列中则把该点加入到队列最后。重复执行直到队列为空。

2024-01-20 22:19:05 1933

原创 Acwing-基础算法课笔记之搜索与图论(bellman-ford算法)

bellman-ford算法适用于负权边的图,求 1 到 n 的最多经过k条边的最短距离。123dist0∞\infty∞∞\infty∞⇓\Downarrow⇓123dist01∞\infty∞⇓\Downarrow⇓123dist012此过程中出现了串联的结果,所以是错误的,此时需要进行备份操作。i < k;i++){//backup存的是上一次迭代的结果j < m;j++){

2024-01-16 04:00:56 1015 1

原创 Acwing-基础算法课笔记之搜索与图论

在上面的例子中,mySet.count(elementToFind) 返回元素 elementToFind 在 unordered_set 中出现的次数,因为在 unordered_set 中每个元素都是唯一的,所以该函数实际上只能返回 1 或 0。然后节点 1 接下来有两个路径分别是节点 2 和节点 3,填写距离两个节点的路径权值,并填写前面节点的记号,因为距离节点 2 最近,所以选择节点 2 的路径,并标记节点 2 已被经过。需要算出u的最大子树的节点数和u上面的部分的节点数,然后取二者的最大值即可。

2024-01-15 00:34:11 1012

原创 for循环里的auto(C++11)

for(声明declaration : 表达式expression) 循环statement∙\bullet∙其中,expression 表示的必须是一个序列,比如用大括号括起来的初始值列表,数组,或者是 vector 或 string 类型的对象,这些类型的共同特点是拥有能返回迭代器的 begin 和 end 成员。∙\bullet∙其中,declaration定义一个变量,序列中的每个元素都得能转换成该变量的类型。

2024-01-02 00:59:16 1086

原创 Markdown编辑器的使用说明

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2024-01-01 03:04:57 771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除