- 博客(54)
- 收藏
- 关注
原创 IP多播的约定俗成
IP多播技术摘要 IP多播通过D类地址(224.0.0.0-239.255.255.255)实现高效的一对多通信,解决单播带宽浪费和广播干扰问题。其核心机制包括: 地址映射:多播IP后23位转换为MAC地址(固定前缀01-00-5E),但存在32个IP映射同一MAC的歧义,需网络层二次过滤。 关键协议: IGMP:主机与本地路由器间管理组员关系(加入/离开)。 多播路由协议(如PIM):路由器间构建分发树,优化数据传输路径。 特殊地址:224.0.0.1(所有主机)、224.0.0.2(所有路由器),TTL
2025-11-08 12:43:48
949
原创 形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
网络数据封装过程是一个分层打包机制。以TCP/IP模型为例,数据从应用层开始,经过传输层(添加TCP头)、网络层(添加IP头)和数据链路层(添加MAC帧头和帧尾),最终形成完整的MAC帧。每层都会添加本层的控制信息,就像俄罗斯套娃一样层层嵌套。MAC帧作为最外层封装,包含了所有内层信息(IP包、TCP段和应用数据),但其本质仍是数据链路层的协议单元,主要负责物理地址寻址和错误校验。整个过程类似于寄信时的多层地址封装。
2025-10-26 01:46:28
1392
原创 程序的编译,链接与装入
编译、链接与装入过程解析(≤150字) 编译将源代码转换为机器语言模块,各模块拥有独立逻辑地址空间(从0开始)。链接阶段将编译模块与库函数整合为.exe文件,统一编址形成完整逻辑地址空间。最后由装入程序将可执行文件载入内存运行。该过程展现了程序从源代码到内存执行的完整转换流程,是计算机系统工作的基础环节。
2025-10-14 15:23:30
221
原创 网络层-IP数据报涉及到的两张表:路由表&ARP表
路由表和ARP缓存表是网络通信的核心组件。路由表存储目标网络的路径信息,包含目的地址、子网掩码、下一跳等字段,指导数据包的转发方向;ARP缓存表则记录IP与MAC地址的映射关系,确保局域网内设备能正确寻址。当数据包到达路由器时,先查询路由表确定转发路径,再通过ARP表获取下一跳的MAC地址进行封装传输。两者协同工作,实现跨网络的高效数据转发。
2025-10-14 00:40:36
1235
2
原创 IO数据进入内存前,还要经过CPU?!
本文介绍了三种I/O控制方式:1)程序查询方式通过CPU轮询设备状态,经累加器/GPR中转数据;2)中断驱动方式由设备主动发中断请求,但数据仍需CPU中转;3)DMA方式通过专用控制器实现I/O设备与主存直接传输,无需CPU介入。三种方式在数据通路和CPU参与度上存在差异,DMA方式效率最高。
2025-10-14 00:38:10
159
原创 408操作系统重点——二级页表结构与地址转换过程
本文详细解析了32位系统下二级页式存储管理中的地址转换过程。通过逻辑地址0x016843C5的转换示例,展示了从页目录表查找(PDE)到页表项定位(PTE)的完整流程。关键点包括:1) 32位页目录项由20位页表基地址和12位控制位组成;2) 地址转换分步进行,先通过PDE找到页表地址,再通过PTE获取物理页帧号;3) 页内偏移量仅用于最终物理地址形成,不包含在页表项中。最终该逻辑地址被转换为物理地址0x007853C5。文章还澄清了关于页目录项结构的常见误解,强调其完整32位特性。
2025-09-25 18:51:52
1004
原创 408真题必看概念—中断处理和子程序调用对寄存器的保存
子程序调用只需保存程序断点,即该指令的下一条指令的地址;中断调用子程序不仅要保护断点(PC 的内容),而且要保护程序状态字寄存器的内容 PSW。在中断处理中,最重要的两个寄存器是 PC 和 PSWR。
2025-09-25 15:21:47
1198
原创 408操作系统复习笔记——页式管理与段式管理-冲刺120+
文章对比了页式管理和段式管理的地址空间特点。页式管理采用一维逻辑地址,程序员使用单一线性地址,由硬件自动拆分为页号和偏移量,对用户透明。段式管理采用二维逻辑地址,程序员需显式指定段号和偏移量,段划分基于程序逻辑结构,用户需感知段的存在。页式管理侧重物理内存划分,段式管理则反映程序逻辑结构。两者在地址解析方式、划分依据和透明性上存在显著差异。
2025-09-25 14:50:54
626
原创 408操作系统复习笔记——关于基本分页管理与请求分页管理-冲刺120+
本文总结了计算机408考试中的分页管理机制,对比基本分页和请求分页的页表结构差异。基本分页仅包含页框号和保护位,实现简单静态的地址映射;而请求分页通过增加关键字段(存在位、访问位、修改位、外存地址)实现了虚拟存储技术,支持按需调入、页面置换等复杂功能。这些字段的进化使页表从静态映射表发展为动态管理中枢,实现了虚拟地址空间大于物理内存的能力。文章揭示了从基本分页到请求分页的本质飞跃。
2025-09-25 14:44:51
773
原创 408操作系统复习笔记——关于IO层次结构与执行流程-冲刺120+
文章摘要:I/O层次结构分为五层:1)用户层提供API接口,将程序调用转换为系统调用;2)设备无关层统一管理所有设备,处理缓冲和错误;3)设备驱动层将抽象命令翻译为硬件指令;4)中断处理层在I/O完成后进行善后处理;5)硬件层执行物理操作。以读取文件为例,请求从用户程序逐层传递至硬件,完成读取后通过中断返回数据。整个过程体现了操作系统对I/O请求的分层处理机制。
2025-09-25 14:34:29
326
原创 408计组复习笔记——关于浮点数规格化-冲刺120+
本文介绍了IEEE754浮点数规格化的原理与标准。规格化通过固定尾数形式(1.M)保证表示唯一性和精度,采用隐含位技术节省存储空间。32位单精度浮点数分为符号位、阶码(移码表示)和尾数三部分。规格化数要求阶码不全为0或1,非规格化数用于填补0与最小规格化数之间的空隙。文章还分析了特殊值(零、无穷大、NaN)的表示方式,并总结了常见考点:数值转换、浮点运算步骤(对阶、尾数运算、规格化、舍入)及相关陷阱(隐含位处理、阶码溢出、边界情况等),特别是非规格化数运算中的特殊处理要求。
2025-09-25 14:22:10
906
原创 408操作系统复习笔记——关于PCB-冲刺120+
进程控制块(PCB)是操作系统管理和调度进程的核心数据结构,主要包含以下7类关键信息:1)进程标识符(PID/PPID/UID等);2)进程状态信息(就绪/运行/阻塞等);3)CPU现场信息(PC/寄存器/页表基址等);4)调度信息(优先级/时间片等);5)内存管理信息(页表/段表指针);6)文件/I/O状态信息;7)记账信息(CPU时间等)。PCB是进程存在的唯一标志,在上下文切换时需要保存和恢复CPU现场信息,特别是程序计数器、寄存器状态和页表基址等关键数据。理解PCB的组成对掌握进程管理机制至关重要。
2025-09-25 14:16:19
860
原创 408操作系统复习笔记——关于进程映像-冲刺120+
进程映像是操作系统管理和调度进程的重要依据,包含用户程序(只读代码段)、数据段(初始化变量)、BSS段(未初始化变量)、堆(动态内存)和栈(函数调用)。进程控制块(PCB)虽不属进程映像,但记录其位置信息。进程映像在程序加载时形成,是上下文切换和内存管理的基础。408考试常考进程映像组成、堆栈区别及PCB归属问题,需注意代码段只读、堆栈增长方向等易错点。
2025-09-25 14:05:40
1008
原创 408计组重点—MIPS指令系统-冲刺120+
摘要:MIPS架构中主存与寄存器的数据传输主要通过lw(加载)和sw(存储)两条指令实现。lw将主存数据传至寄存器,sw则将寄存器数据存入主存,采用基址寻址方式(如数组首地址+偏移量)。指令执行过程涉及MDR、IR、MAR等部件协作。MIPS采用32位定长指令格式,包含R型(逻辑运算)、I型(立即数操作)和J型(跳转)三类指令。其中I型指令的偏移量为16位,PC相对寻址时需注意"PC+4"的基准问题。此外,MIPS有32个通用寄存器,移位操作偏移量范围为0-31。
2025-09-22 22:09:07
1306
原创 解决 ubuntu 终端中文输出乱码
7.再点终端(T)选项,设定字符编码,就有GB2312了,选择他就ok了。2.按F10或把鼠标放到终端的最上面,也就是调出终端的菜单栏;6.然后在弹出的窗口中选择简体中文编码就好了,GB2312。4.在选择 设定字符编码。5.选择 添加或删除。
2024-06-04 09:18:56
1308
原创 蓝桥杯B组C++省赛——飞机降落(DFS)
:因为如果不判断的话,当u>num时(也就是找到飞机能正常降落的步骤),返回return 并不是直接退出,而是到了num-1层,然后相当于是递归回去,最后到了第0层,因为没有判断,所以直接接着往下走,返回false。也就是说,不加判断整个程序返回的是第0层的结果false。而我们之前一般的dfs之所以不加判断是因为在n>num的时候直接把结果输出来了,就算递归回去也不影响。
2024-04-04 23:18:56
3096
1
原创 [蓝桥杯 2019 省赛 AB] 完全二叉树的权值
思路:根据题意,我们不难发现:这道题的节点是按照树的层数进行输入的。而我们又知道,对于一个 x 层的完全二叉树,其每层的节点数除最后一层外均为 2^n−1,其中 n 为层数,且从 1 开始。那么,我们就可以一边输入一遍查找,每次判断一下输入的数是不是这一层的最后一个节点。如果有多个深度的权值和同为最大,请你输出其中最小的深度。对于所有评测用例,$1 \le N \le 10^5$,$0 \le |A_i| \le 10^5$。第二行包含 $N$ 个整数 $A_1,A_2, \cdots, A_N$。
2024-03-31 22:54:40
985
原创 迷宫—BFS 牛客
'W' 代表墙壁,是不能进入的位置,除了墙壁以外的地方都可以走。而这个地方的正解是你先去K处拿到钥匙,再去开门到终点,你会发现会重复走,所以就不是一个bfs能解决的了的事!而且,此迷宫的四周 (最上面的一行、最下面的一行、最左边的一列以及最右边的一列) 都会是墙壁。接下来的H行代表迷宫,每行有一个长度恰为W的字串,此字串只包含`'S'`, `'E'`, `'W'`, `'D '`, `'K'`, `'.'`这几种字元。迷宫的四周(最上面的一行、最下面的一行、最左边的一列以及最右边的一列) 都会是 'W'
2024-03-25 23:06:25
1802
1
原创 蓝桥杯B组C++省赛 全球变暖【bfs】
由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。:此题采用bfs算法,找到每个岛屿的最大连通块,看是否四周都有陆地,有的话就不会被淹没,而被标记过得点就不用再以它为起点寻找连通块了。其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。照片保证第1行、第1列、第N行、第N列的像素都是海洋。以下N行N列代表一张海域照片。
2024-03-22 14:17:15
635
1
原创 蓝桥杯算法练习系统—金属采集(树形dp)
人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了。一些节点之间有道路相连,所有的节点和道路形成了一棵树。一共有 n 个节点,这些节点被编号为 1~n。人类将 k 个机器人送上了火星,目的是采集这些金属。这些机器人都被送到了一个指定的着落点, S 号节点。每个机器人在着落之后,必须沿着道路行走。当机器人到达一个节点时,它会采集这个节点蕴藏的所有金属矿。当机器人完成自己的任务之后,可以从任意一个节点返回地球。当然,回到地球的机器人就无法再到火星去了。
2024-03-21 20:56:03
629
原创 牛客—数字组合 (DP,01背包)
个数,可选可不选,求出有多少种方法可以让选的数的和刚好等于。对于这种选不选,凑数问题可以考虑。个数中找出若干数,他们和为。背包 ,看一下 数据范围。
2024-03-21 20:48:51
233
原创 蓝桥算法练习系统—卡勒沃夫之弱水路三千(提高型)(拓扑排序)
卡勒沃夫在这个不朽的夜话中搜集出了某人零散的历任女友资料,为了强迫某人将他出的题目的标程交出,现在卡勒沃夫需要一个能将这些零散信息整合起来的程序。在卡勒沃夫充满文学杀伤力的声音中,身处紫荆2号楼202B的四位远近高低各不同的室友纷纷回忆起了各自波澜起伏的过去,并对长在百草园,邻有百花谷的现状表达了各自的见解。在这里我们假装诅咒某人不会同时被两个或两个以上mm泡,某个mm抛弃了某人后不会再吃回头草,同时卡勒沃夫深邃的洞察力使得他收集到了充足的信息以确定某人女友的先后顺序。在小数据组中出现的人物不超过13个。
2024-03-21 20:43:00
513
原创 蓝桥杯算法练习系统—士兵排队问题 拓扑排序
有N个士兵(1≤N≤26),编号依次为A,B,C,…,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2高”这样的比较结果(P1、P2∈A,B,C,…,Z,记为 P1>P2),如”A>B”表示A比B高。请编一程序,根据所得到的比较结果求出一种符合条件的排队方案。(注:比较结果中没有涉及的士兵不参加排队)
2024-03-17 12:56:16
507
原创 蓝桥杯算法练习系统—作物杂交【第十一届】【省赛】【C组】
我开始想到是用二维数组存储,定义一个足够大的数组int hybrid[2005][2005],存储所有杂交方 案,如A + B->C,转换为hybrid[A][B] = C. 但是使用这种存储方案的的话,我想不到该如何去得到一种种子的最短杂交时间,因为目标种子 是数组所存的值,我们需要的是通过目标种子的标号能够得到能够杂交出该种子的所有杂交方 案!第 4 至 K+3 行,每行包含 3 个整数 A,B,C,表示第 A 类作物和第 B 类作物杂交可以获得第 C 类作物的种子。作物杂交是作物栽培中重要的一步。
2024-03-16 18:09:12
659
1
原创 关于用max,min函数超时的情况—算法小Tips
在这个代码中,我在每个能被7整除的区间都进行了一次max判断,本来就是O(n2)的复杂度,可能有很多被7整除的情况,都要进入 if((sum[j]-sum[i-1])%7==0){今天在做这道题的时候,有了一点对一些题max函数min函数就会超时的思考,不是每道题都这样,但也可以是个做题小tips;很明显,我把没有比之前最大值大的数直接pass掉,不进入是否被7整除的区间判断,从而减小了处理次数。中进行max比较,从而加大了处理次数,这道题也是超时了。
2024-03-16 15:46:50
444
原创 Qt按回车键实现确定/发送按钮功能
/就会响应到上面函数第三个参数:ui->pushButton_send这个按键原本已有的按键响应函数,当光标在lineEdit上时,输入完毕直接按回车键(大/小都可以),请各位根据自己的槽函数名更改其中相应的代码。构造函数中,添加如下代码。//等于点击该按钮。
2024-03-15 22:50:01
1967
原创 蓝桥算法练习系统—密码锁 BFS爆搜
你获得了一个据说是古代玛雅人制作的箱子。你非常想打开箱子看看里面有什么东西,但是不幸的是,正如所有故事里一样,神秘的箱子出现的时候总是会挂着神秘的锁。根据你所搜集的情报,这个锁在上面存在某连续四个数字是“2012”的时候会自动打开。比如,如果原来有 5 个数字 02120,在一次交换以后你就可以得到 20120,01220,02210 或者 02102。把前两个数字交换以后,锁上的数字是 20120,其中存在连续四个数字2, 0, 1, 2,因此锁会打开。你只需要输出一个数字,即你至少需要的交换次数。
2024-03-14 17:53:11
514
原创 蓝桥算法练习系统—方格取数 DP
某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点(N,N)。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。输入的第一行为一个整数N(表示N*N的方格图),接下来的每行有三个整数,前两个表示位置,第三个数为该位置上所放的数。设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。只需输出一个整数,表示2条路径上取得的最大的和。
2024-03-14 15:12:04
407
原创 蓝桥杯练习系统—瓷砖铺放 dfs
首先看数据范围 n ≤10 很容易想到暴力搜索。题意就是给你一个数 让你求有多少种方法通过 只使用1 和 2来凑出。可以抽象为一棵树树顶是n。从 n开始往下走,每次都有两个分支一 个是减去1一个是减去2,走到底之后只有刚好减完了才算一种方法。有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?输出一个数,代表所有不同的瓷砖铺放方法的总数。编程用递归的方法求解上述问题。只有一个数N,代表地板的长度。
2024-03-14 14:56:59
886
原创 蓝桥练习系统—K好数
如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输出一个整数,表示答案对1000000007取模后的值。对于50%的数据,K
2024-03-14 14:50:21
387
原创 Nowcoder.兔子的区间密码 ——位运算性质 异或性质
比如给了区间[2,5] 那么就有2 3 4 5这些数,其中 2 xor 5=7最大 所以密码就是7。兔子立马解开了密室的门,发现门外还是一个门,而且数字越来越大,兔子没有办法了,所以来求助你。可爱的兔子摸索了好久,发现密室里的两个数字是表示的是一个区间[L,R]而密码是这个区间中任意选择两个(可以相同的)整数后异或的最大值。00011=00100-1 小性质。只有解开密码,才能够出去。
2024-03-12 23:34:14
668
原创 AcWing 830. 单调栈 运用c++STL stack容器 实现单调栈
给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。
2024-03-05 21:27:26
425
原创 一些算法小技巧tips-提醒
string->int:int stoi(string str) int->string: string to_string(int i) 同理有stof,atoi(char*->int)if(find(vc.begin(), vc.end(), 0)!=vc.end());//序列式容器可以通过algorithm库中find函数查找,未找到返回尾迭代器。// string类成员函数:未找到返回string::npos。主要由最近刷L1和L2的天梯赛往年真题得出的小技巧汇总。
2024-03-05 19:56:59
424
原创 经典树形DP—小红树上染色问题
当以x为父亲节点的树不染红色的方案数是--子树i染红色的方案*自身(一直更新自身所延伸的子树的方案数) 乘法原理。当以x为父亲节点的树染红色的方案数是--子树i染红色的方案*自身+子树i不染红色的方案*自身。很显然这是一个树形DP问题。直接先后序遍历整棵树。
2024-03-04 23:33:23
817
1
原创 关于C++ STL中的find()函数和count()函数的复杂度
因为容器STL采用是map和set内部是红黑树实现的。因此map和set内部的find函数查找时间复杂度是O(logn).vector内部没有find函数,采用的是algorithm的find函数。map::find 和 set::find。是线性的,最坏情况是O(n).能用find就先用find吧。朴素的查找方法,O(n).count函数的复杂度。
2024-02-18 22:51:15
1898
原创 AcWIng 901 滑雪 记忆化搜索
给定一个 R 行 C 列的矩阵,表示一个矩形网格滑雪场。矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。在给定矩阵中,一条可行的滑行轨迹为 24−17−2−1。在给定矩阵中,最长的滑行轨迹为 25−24−23−…−3−2−1,沿途共经过 25 个区域。
2024-01-30 18:14:13
438
1
原创 可丽的难题 可丽的数学 (题解)
来源:牛客网现在可丽输入一个长度为 n 的 01 串表示一个二进制数。如果这个数可以被 3 整除,就输出 YES,否则就输出 NO。
2024-01-30 17:58:32
451
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅