- 博客(147)
- 收藏
- 关注
原创 HNU编译系统课程总结与反思
HNU编译系统这门课程,拔尖班用的是杨金民老师和果哥主编的《编译技术与应用》一书;计科用的是龙书。两本书特色各异,前者注重通俗理解,且内容轻量化;后者是成名已久的老牌书了,内容我没有细读过,但量比较大。选择哪本书大家可以各自斟酌。课程难度较大,算是计算机科班本科阶段难度最大的课程之一了。但好在对于应试来说,题型比较固定(类似电子与电路学期末考,每道题题型是什么都会告诉你,比如第一题词法分析、第二题语法分析等等),学起来倒也没那么吃力。这门课程在计科叫做《编译原理》,在拔尖班叫做《编译系统》,在软件叫
2025-02-12 11:42:46
873
原创 HNU人工智能课程总结与反思
HNU人工智能这门课教材用的是101计划的《人工智能引论》,浙江大学吴飞教授编的。个人认为,教材写的挺好,但是把人工智能这一领域的东西放在一本书里,用32个课时讲完还是太过于仓促。不过,对于我这个上课之前对人工智能一窍不通的小白来说,确实学到了太多东西。这门课程在计科拔尖班、计科、数媒、大数据均有开设,计科拔尖班和数媒、大数据均为大三上学期;计科为大三下学期,占3学分。
2025-01-18 11:02:10
742
1
原创 HNU算法设计与分析2024年期中考试原题回忆版
一、描述一下Luis的reCAPTURE算法过程,并谈一谈你对它的理解二、分治法与动态规划法的异同,不少于四点(相同点和不同点各两点)三、复杂度分析四、有一个8*8的棋盘,第5行第7列有一个特殊方格,请画出用L形骨牌完全覆盖后的棋盘(直接画出即可)五、矩阵链乘法六、动态规划实例,要求写出算法思想,递推式,核心部分伪代码,算法时间复杂度计算七、(开放式问题)请从自身所学和《数学之美》的角度,谈谈你对于如何提高学习效率的理解(可以包含数据来源、学习效率公式分析、学习效率预测算法等方面)
2024-10-18 13:01:11
1092
2
原创 Git在push时报错:HTTP/2 stream 1 was not closed cleanly before end of the underlying stream
1. 关闭正在使用的 github 所有页面和连接,然后再次push,可以成功上传。2. 将通信协议由 http/2 改为 http/1.1。在使用 git 向 github 上传文件时,在。
2024-09-03 20:28:31
692
1
原创 HNU计算机系统课程总结与反思
HNU计算机系统这门课程用的是《深入理解计算机系统》第三版,作业题用的是第二版(据说23届可能会全面改为第三版...)。第三版对应64位系统,第二版对应32位系统,学了64位的反正没有坏处,是向下兼容的。这门课程和408的计组很像,但又不是同一个东西。同时,CS这门课更偏应用,趋向于上手做,去尝试,学好了对你的Linux非常有帮助。强烈安利卡耐基梅隆大学的CSAPP(也就是教材《深入理解计算机系统》)这本书,个人认为讲解的非常好。即使你是喜欢看着网课、PPT复习形式预习复习的同学,也建议过一遍这本书。
2024-07-09 09:03:38
1355
原创 HNU操作系统课程总结与反思
HNU操作系统这门课程用的教材是《操作系统导论》,408必考科目,重要程度不言而喻。单从课程来讲,相比于计算机系统那种偏实验的课程,操作系统更偏理论一些。这门课程在计科拔尖班占4学分,在计科、软件、智能专业占5学分。
2024-07-08 09:11:54
1515
原创 HNU-计算机系统(CSAPP)实验四 BufLab
1.刚开始计算esp时候经常忘记把push进来的4个字节给加上,后来经过重新看了一遍CSAPP第三章之后,遗忘的知识点大多都被复习起来了,做后面的level就顺手多了。2.在level4的将汇编指令转换成机器码那一部分,因为忘记给我的cookie立即数加上“$”符号了,导致这个mov的机器码从b8变成了a1,也就是本来是取立即数的,结果取成了内存地址,导致输出错误。而且这个bug找了很长时间,所以说在徒手写汇编时还是要小心为上,一个符号都不能错。A1MOV ax,[16位内存数值]B8。
2024-06-20 17:38:54
1738
原创 HNU-计算机系统(CSAPP)实验三 BombLab
来自《深入理解计算机系统》(CSAPP)一书的第三章“程序的机器级表示”的配套实验,该实验的目的是通过反汇编可执行程序bomb,来反推出程序执行内容,进而能够正确破解“密码”,拆除“炸弹”。具体的bomb压缩包会由助教发给大家,每个人独一份,确保不重样。其他外校的uu也可以去官网搜索下载,享受拆炸弹的乐趣(bushi)
2024-06-20 17:38:34
1552
原创 HNU操作系统2022期中考试试卷及参考答案
(1)通过多任务共享实现的虚拟化CPU与通常虚拟机(VMware等)里所使用的虚拟化技术有什么不一样?(源自文心一言3.5)(2)试描述进程的所有状态,其中进程在哪些状态只出现一次,哪些会出现多次?(3)创建新进程的系统调用fork()和exec()有什么区别?(4)简述周转时间和响应时间的定义,并解释它们在不同调度算法(FIFO,SJF,RR)中的表现。
2024-06-20 17:35:33
678
原创 第二十四讲 链接 课程随手记
在main.c中,整形全局变量d被初始化为100,作为强符号;在p1.c中,双精度浮点型全局变量d没有初始化,作为弱符号。链接时链接器选择强符号而不是弱符号。而在函数p1中,d被赋值为双精度型1.0,二进制数表示为0 01111111111 0…0。因为(int)d是强符号,(double)d是弱符号,所以赋值给(int)d。又因为d为int类型,占32位,而double 1.0占64位,按照小端格式存储时,这个64位的二进制数会向高地址溢出,造成写覆盖
2024-05-22 13:56:32
356
原创 VMware Ubuntu虚拟机开机黑屏的解决方法
由于不知名原因,我的VMware虚拟机隔三差五会出现开机即黑屏的现象。经过查阅资料和摸索,发现其中一种方法可以很好地解决我虚拟机的问题。
2024-05-20 22:58:13
7481
14
原创 Linux修改文件权限命令 chmod
chmod是 "change mode" 的缩写,用于改变文件或目录的权限。777是一个三位数的八进制数,每一位数字代表一组不同的用户组对文件的权限。这三位数字分别代表:文件所有者的权限与文件所有者同组的用户的权限系统中其他用户的权限每一位数字都是0到7之间的一个数,代表不同的权限组合:4 代表读取权限(r)2 代表写入权限(w)1 代表执行权限(x)0 代表没有任何权限
2024-04-30 22:31:20
1070
原创 Windows和Linux系统下查看CPU架构信息的方法
lscpu是一个在 Linux 系统中常用的命令行工具,用于显示关于 CPU 架构的信息。该命令提供了关于 CPU 的详细概述,包括其型号、内核数、线程数、缓存大小、指令集支持等。这对于系统管理员、软件开发人员以及任何需要了解系统硬件配置的人来说都是非常有用的。
2024-04-19 16:27:05
3597
原创 Windows系统下查看C语言文件反汇编
MinGW 的全称是:Minimalist GNU on Windows ,MinGW 就是 GCC 的 Windows 版本 。MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。MinGW-w64是2005年为了将ObjectiveC程序移植到64位Windows问题,由OneVision Software根据 净室设计原则 (ReactOS是一个逆向工程Windows而净室实现的开源操
2024-04-17 22:32:02
1558
原创 【计算机系统】缓冲区溢出攻击概念、演示及防御
是一种常见的安全漏洞,也被称为缓冲区溢出。它发生在程序尝试向缓冲区写入数据时,。这种溢出可能破坏程序的堆栈,使程序转而执行其它指令,从而达到攻击的目的。缓冲区溢出攻击的原理主要是利用程序中存在的缓冲区溢出漏洞。当程序没有仔细检查用户输入的参数时,攻击者可以通过输入超出缓冲区边界的恶意数据来破坏程序的正常执行流程。这些数据可以,导致程序。例如,在一个简单的C语言程序中,如果程序使用固定大小的缓冲区来接收用户输入,而攻击者输入的数据超过该缓冲区的容量,就会发生缓冲区溢出。
2024-04-12 02:22:56
8210
原创 蓝桥杯刷题 二分-[364]跳石头(C++)
一年一度的「跳石头」比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走M 块岩石(不能移走起点和终点的岩石)。
2024-04-11 13:55:15
1065
原创 洛谷刷题 深度优先搜索-[P1025]数的划分(C++)
将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,51,5,15,1,1问有多少种不同的分法。
2024-04-11 00:51:04
466
原创 蓝桥杯刷题 二分-[99]分巧克力(C++)
儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足:1.形状是正方形,边长是整数2.大小相同例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?
2024-04-10 23:57:31
357
原创 【计算机系统】汇编指令 lea 和 mov 的区别
在学习计算机系统这门课程时,很多同学可能会把 lea 和 mov 指令弄混,误认为这两条指令是一个意思。并且,卡耐基梅隆大学的这本《深入理解计算机系统》黑皮书上也讲的比较模糊。其实,单从表面上理解汇编代码意思的话,这两条指令确实非常相像。但是实际上这两者有很大的差别,需要仔细区分和体会
2024-04-09 23:43:09
13817
1
原创 蓝桥杯刷题 深度优先搜索-[NewOJ P1158]N皇后(C++)
n皇后问题:n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上面布局用序列2 4 6 1 3 5表示,第i个数字表示第i行皇后放的列号。按照这种格式输出前3个解,并统计总解数。
2024-04-08 22:32:07
332
1
原创 蓝桥杯刷题 深度优先搜索-[178]全球变暖(C++)
你有一张某海域 N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示:.##….##……##.…####.…###.其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:…#…
2024-04-08 19:49:20
524
原创 蓝桥杯刷题 深度优先搜索-[2410]最大连通(C++)
小蓝有一个 30 行 60 列的数字矩阵,矩阵中的每个数都是 0 或 1。如果从一个标为 1 的位置可以通过上下左右走到另一个标为 1 的位置,则称两个位置连通。与某一个标为 1 的位置连通的所有位置(包括自己)组成一个连通分块。请问矩阵中最大的连通分块有多大?
2024-04-08 17:15:44
294
原创 洛谷刷题 DFS/素数-[P1036]选数(C++)
已知 n 个整数 1,2,⋯ ,x1,x2,⋯,xn,以及 11 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,44 个整数分别为 3,7,12,193,7,12,19 时,可得全部的组合与它们的和为:3+7+12=223+7+19=297+12+19=383+12+19=34现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:3+7+19=29。
2024-04-08 09:10:33
469
原创 洛谷刷题 快速幂-[P3197]越狱(C++)
监狱有 n 个房间,每个房间关押一个犯人,有 m 种宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。答案对 100,003 取模。
2024-04-06 20:41:22
392
mingw64.rar
2024-04-17
小班作业-MyString类
2022-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人