BUAA-OS-lab0
lab0 实验报告 思考题 Thinking 0.1 执行 git status > Utracked.txt 后,观察文件内容不难发现,此时有两个文件 README.txt 和 Untracked.txt 是 Untracked 的,此时它们处于工作区,没有进入暂存区。 执行 git add . 和 git status > Stage.txt 之后,观察 Stage....
lab0 实验报告 思考题 Thinking 0.1 执行 git status > Utracked.txt 后,观察文件内容不难发现,此时有两个文件 README.txt 和 Untracked.txt 是 Untracked 的,此时它们处于工作区,没有进入暂存区。 执行 git add . 和 git status > Stage.txt 之后,观察 Stage....
Challenge Sigaction 实现文档 代码改动与说明 include/env.h 在这里添加了新结构体定义、宏定义,并给 Env 进程块结构体添加新的必要信息。注意为了实现队列,在 sigset_t 结构体中添加了 TAILQ_ENTRY 成员变量。在进程块中添加的信息有:注册新号的信息、信号队列、掩码栈、信号处理函数入口、当前正在处理的信号。 ...
BUAA-OO-Unit4 本单元所实践的正向建模与开发 本单元主要是完成了一个图书管理系统的设计,实际上就是一个大模拟。 所谓 正 向设计简单来说就是从概念——实物,这一过程利用绘图或建模等手段预先做出产品设计原型,然后根据原型制造产品。 而在这一单元,课程组的目标也是鼓励我们借助 UML 图进行正向建模设计与开发。因此,整个单元作业的完成步骤也是,先画出大致的 UML 图,然后根...
BUAA-OO-Unit3 测试过程 这一单元的测试包括了课程组提供的 junit 测试练习,和课下对自己代码的测试。 junit 测试练习主要是使用随机数据生成后检查方法调用结果是否和 jml 语句预期相同,以及一开始往往被忽略掉的 pure 属性是否满足。 对自己代码的测试,正确性使用了随机生成数据并与同学对拍的方法来检验;时间复杂度则主要靠自己对代码方法的分析来把控(因为自己很...
BUAA-OO-Unit2 同步块的设置 在三次作业中,我都只使用了 synchronize 关键字来设置同步块、以及定义 synchronize 方法来进行多线程临界区的管理。 事实上,尽管经历了三次迭代,身边有的同学对代码架构进行了大刀阔斧的改动;但是我从头到尾都是以第一次作业建立起的生产者消费者模式为整体架构,以及多线程之间的实现。并没有在其它方面引入多线程,自然而然的,也就只有...
BUAA-OO-Unit1 度量分析 代码规模分析 先给出统计的三次作业每次的类数量、每个类的行数以及总代码行数。 和同学对比发现,我的代码结构总体控制的比较良好,总行数比较适中。在迭代中,主要的类始终都没有变化,都是分为Expression, Term, VariableFactor 三层结构。在第二次作业时,由于需要实现拓展函数功能,新增了 InputSolver 类...
构造,模拟 题目链接 智乃的“黑红树” 思路 用两个队列分别维护 当前可用 (当前仍是叶子节点)的红节点和黑节点,然后红节点不够就取出一个黑节点向下连接新的红节点,黑节点不够就取出一个红节点向下连接新的黑节点,最后检查红节点和黑节点的总数是否与给定的一致即可。 代码 #include <bits/stdc++.h> using namespace std; const...
01trie. 题目链接 Tokitsukaze and Min-Max XOR 思路 不难发现,如果有两个数异或起来小于等于 $k$,那么值位于这两个数之间的数选或不选都没有影响,选定两个异或起来小于等于 $k$ 的数,它的贡献为 $2^x$,$x$ 是两个数之间数的个数。 不妨将整个数组排序,对于每一个数,找到它前面所有与它异或起来小于等于 $k$ 的数,然后分别计算贡献。考虑...
线段树 题目链接 Tokitsukaze and Power Battle (easy) 思路 记 $[l, r] = \sum_{i=l}^{r}{a_i}$. 要在 $[L,R]$ 范围内按题意使 $[i,x] - [x+1,j]$最大,贪心的考虑,显然 $x+1=j$,并且 $i=R$.从而,问题可以转化为求 $[L, x-1] - [x,x]$ 最大,也即 $[L, x] ...
在数论领域中,欧拉函数是一种重要的概念,它在解决许多数学问题和密码学中起着关键的作用。本文将介绍欧拉函数的定义、性质、求法 以及一些常见的应用,帮助读者更好地理解和应用欧拉函数。 欧拉函数的定义 欧拉函数,也称为欧拉降幂函数,是指小于或等于正整数 $n$ 的数中与 $n$ 互质 的数的个数。 欧拉函数通常用符号 $\phi(n)$ 表示。 欧拉函数的性质 若 $n$ 为质数,则...