操作系统 操作系统 🍎进程管理 PCB:进程控制块 TCB:线程控制块 进程的状态 进程由三种基本状态:运行状态(Run)、就绪态(Ready)、等待态(Wait) graph LR Ready -- "进程调度决定哪个进程占用CPU" --> Run Run -- "进程调度决定哪个进程占用CPU" --> Ready W 2022-05-10 操作系统 #操作系统 #面试
C++语言面试的一些问题 C++语言面试的一些问题 语言基础 部分摘录于C++岗位面试真题宝典 简述C++语言的特点 C++在C语言的基础上引入了面向对象的机制,同时也兼容C语言。 C++有三大特性:封装,继承,多态。 C++语言编写的代码结构清晰、易于扩充,语言可读性好。 C++生成的代码质量高,运行效率高,仅比汇编语言慢10%~20%。 C++更加安全,增加了const常量、引用、四类cast转换(stat 2022-05-10 #C++ #面试
计算机网络的一些复习题 计算机网络的一些复习题 🚀简答题 🔥什么是网络编码?它的核心思想是什么?与传统的多播路由有何区别? 参考1: 网络编码_百度百科 参考2: Network_Information_Flow 网络编码是一种融合了路由和编码的信息交换技术,它的核心思想是在网络中的各个节点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游节点,中间节点扮演着编码器或信号处理器的角色。 根据 2022-05-10 计算机网络 #计算机网络
Codeforces Round 726 (Div. 2) D. Deleting Divisors 题目翻译 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,有一个数字 NNN 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 xxx ,满足 1<x<N1 < x < N1<x<N 且 xxx 是 NNN 的因子。 用 N−xN - xN−x 替换数字 NNN 。 如果玩家无法执行这些操作,就 2022-05-10 Codeforces #算法 #Codeforces #数学 #博弈
Educational Codeforces Round 110 (Rated for Div. 2) E. Gold Transfer 简要思路 操作1: 将点加到树上,并且更新当前点的根结点的情况。 操作2: 通过使用倍增算法找到从当前点到根结点的路径中最接近根结点且黄金数目大于0的祖先结点。然后从祖先结点开始,往下依次获取黄金。 参考代码 #include <bits/stdc++.h> using namespace std; typedef long lon 2022-05-10 Codeforces #算法 #Codeforces #树上倍增
Codeforces LATOKEN Round 1 (Div. 1 + Div. 2) E: Lost Array 题目翻译 给你 nnn 个数,分别是a1,a2,a3,⋯ ,ana_1, a_2, a_3, \cdots, a_na1,a2,a3,⋯,an,目的是计算这 nnn 个数的异或的值。你可以通过询问 kkk 个数的方式,来获得任意 kkk 个数的异或值。 如果无法求得 nnn 个数的异或值,输出-1。 如果可以求得 nnn 个数的异或值,需要使用最少的询问次 2022-05-10 Codeforces #算法 #Codeforces #广度优先搜索 #交互题
A*算法 A*搜索算法(A* search algorithm)是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或网络游戏的BOT的移动计算上。 该算法综合了最良优先搜索和Dijkstra算法的优点:在进行启发式搜索提高算法效率的同时,可以保证找到一条最优路径(基于评估函数)。 在此算法中,如果以g(n)g(n)g(n)表示从起点到任意顶点nnn的实际距离,h( 2022-05-10 算法 #算法 #搜索 #启发式搜索
全错排问题 参考:http://oi-wiki.com/math/combination/#_11 我们把错位排列问题具体化,考虑这样一个问题: nnn 封不同的信,编号分别是 1,2,3,4,51,2,3,4,51,2,3,4,5 ,现在要把这五封信放在编号 1,2,3,4,51,2,3,4,51,2,3,4,5 的信封中,要求信封的编号与信的编号不一样。问有多少种不同的放置方法? 假设我们考虑到第 n 2022-05-10 算法 #算法 #数论
康托展开 参考:康拓展开_维基百科 康拓展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。 康拓展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。 公式 X=a0(n−1)!+a1(n−2)!+⋯+an−1⋅0!X=a_0(n-1)! + a_{1}(n-2)! + \dots + a_{n-1} \cdot 0! X=a0(n−1)!+a1(n−2)!+⋯+an 2022-05-10 算法 #算法 #康托展开 #数论