Je3ter
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

CSAPP bomblab

一个需要注意的地方是除了主函数以外的函数都不支持单步调试,需要加断点。否则即使用 step 也会直接运行到函数返回(通常会导致炸弹爆炸)。 phase 1 0x402400 中存放的就是目标字符串。 phase 2 记 %rsp 存放的地址为 0x0。 phase_2+14:检查 0x0 处存的值是否为 1。 phase_2+52:将 %rbx 指向 0x4 的位置,将 %rbp 指向 0x1
2024-02-17
system
#CSAPP #汇编

CSAPP cachelab

Part A 由于不关心具体的块内偏移,所以 cache 可以这样设计:作为一个二维数组,第一维代表组号,第二维代表组内的行号,存放标记位和上一次访问的时间。每次操作时,读取和存放是等价的,直接在对应组号内遍历所有标记位,看是否有对应上的。否则看有无空缺,或是替换掉某一行。修改和上面类似,只需要添加一次命中记数就可以了。 读入命令行参数是一个比较陌生的话题: 1234567891011121314
2024-02-17
system
#CSAPP #cache #分块

CSAPP datalab

bitXor 利用 x⊕y=(x&∼y)∣(∼x&y)x\oplus y=(x\&\sim y)|(\sim x\& y)x⊕y=(x&∼y)∣(∼x&y) 和 x∣y=∼(∼x&∼y)x|y=\sim(\sim x\&\sim y)x∣y=∼(∼x&∼y) 容易实现。 tmin TMIN=0x8000 0000。 isTma
2024-02-17
system
#CSAPP #位运算

CSAPP e10.9

仔细考虑这条命令:linux> fstatcheck 3 < foo.txt 如果经过一点思考,可能会产生这样错误的结论:shell 打开 foo.txt 并分配了文件描述符 3。使用 fork 和 execve 创建了子进程 fstatcheck,它具有与 shell 相同的文件描述符表,即 3 同样引用 foo.txt。因此 fstatcheck 使用 Fstat 获取 foo.t
2024-02-17
system
#CSAPP #shell

CSAPP e3.4

练习题3.4 题目中提到“当执行强制类型转换既涉及大小变化又涉及C语言中符号变化时,操作应该先改变大小”,我们通过一个例子来说明。 考虑下面这段代码 1234567#include <stdio.h>int main(){ char a=0xff; printf("%u",(unsigned)a); return 0;} 这里
2024-02-17
system
#CSAPP #汇编

Codeforces Round 911 (Div. 2)

https://codeforces.com/contest/1900 D. Small GCD 题意 定义 f(x,y,z)f(x,y,z)f(x,y,z) 为 x,y,zx,y,zx,y,z 中较小两数的 gcd⁡\gcdgcd。给定数组 aaa ,求所有三元组的 fff 之和。 数据范围:3≤n≤8×104,1≤ai≤1053\leq n\leq 8\times10^4,1\leq a_i\
2023-11-30
ACM
#容斥

CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)

https://codeforces.com/contest/1896 D. Ones and Twos 题意 给定一个数组 aaa,只含有 1,21,21,2。每次询问有两种类型: “1 s” 查询是否有一个子数组的和为 sss。 “2 i v” 将 aia_iai​ 改为 vvv。 数据范围:1≤n,q≤1051\leq n,q\leq 10^51≤n,q≤105。 题解 注意到对于原数组
2023-11-29
ACM

Educational Codeforces Round 158 (Rated for Div. 2)

https://codeforces.com/contest/1901 C. Add, Divide and Floor 题意 给定一个长度为 nnn 的数组 aaa,每次操作可以选择一个数 xxx,然后对所有的 aia_iai​,令 ai←⌊ai+x2⌋a_i\leftarrow \lfloor\dfrac{a_i+x}{2}\rfloorai​←⌊2ai​+x​⌋。求最小操作次数使得 aaa
2023-11-28
ACM
#贪心

Codeforces Round 910 (Div. 2)

https://codeforces.com/contest/1898 B. Milena and Admirer 题意 给定一个长度为 nnn 的数组 aaa。每次操作可以选择一个 aia_iai​,并选择一个 xxx 满足 1≤x<ai1\leq x<a_i1≤x<ai​。用 x,ai−xx,a_i-xx,ai​−x 替换 aia_iai​。求最小操作次数,使得 aaa 单调
2023-11-26
ACM
#贪心

AtCoder Beginner Contest 219

https://atcoder.jp/contests/abc219 F - Cleaning Robot 题意 在一张网格图中,给定一个指令序列。问重复 kkk 次一共能访问到多少个不同的点。 数据范围:1≤∣s∣≤2×105,1≤k≤10121\leq |s|\leq 2\times10^5,1\leq k\leq 10^{12}1≤∣s∣≤2×105,1≤k≤1012。 题解 先模拟一遍序列
2023-11-23
ACM
#根号分治
12345…10

搜索

Hexo Fluid