NJU静态分析 - Lab1 - Live Variable Analysis
分析 第一个实验较为简单,如果先前学习过NJU编译原理,那么对活跃变量分析算法应该会较为熟悉。对于活跃变量分析,我们使用的是may-analysis,推导方向是backward,初始化时边界和非边界均初始化为空集,转换函数为OUT = gen + (IN - kill),Meet函数为取并集。 代码框架分析 本实验的难点与其说是将代码填入每一个TODO,不如说是去理解Tai-e框架。因...
分析 第一个实验较为简单,如果先前学习过NJU编译原理,那么对活跃变量分析算法应该会较为熟悉。对于活跃变量分析,我们使用的是may-analysis,推导方向是backward,初始化时边界和非边界均初始化为空集,转换函数为OUT = gen + (IN - kill),Meet函数为取并集。 代码框架分析 本实验的难点与其说是将代码填入每一个TODO,不如说是去理解Tai-e框架。因...
One day when I was using ssh to connect my linux desktop, a message popped up: 1 device has a firmware upgrade available. Run `fwupdmgr get-upgrades` for more information. So I ran fwupdmgr get-...
有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。 机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。 从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。 另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。 一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕...
有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。 机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。 从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。 另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。 一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕...
有一个 a×b 的整数组成的矩阵,现请你从中找出一个 n×n 的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 输入格式 第一行为三个整数,分别表示 a,b,n 的值; 第二行至第 a+1 行每行为 b 个非负整数,表示矩阵中相应位置上的数。 输出格式 输出仅一个整数,为 a×b 矩阵中所有“n×n 正方形区域中的最大整数和最小整数的差值”的最小值。 数据范围 2≤a...
在一年前赢得了小镇的最佳草坪比赛后,FJ 变得很懒,再也没有修剪过草坪。 现在,新一轮的最佳草坪比赛又开始了,FJ 希望能够再次夺冠。 然而,FJ 的草坪非常脏乱,因此,FJ 只能够让他的奶牛来完成这项工作。 FJ 有 N 只排成一排的奶牛,编号为 1 到 N。 每只奶牛的效率是不同的,奶牛 i 的效率为 Ei。 编号相邻的奶牛们很熟悉,如果 FJ 安排超过 K 只编号连续的奶牛,...
高二数学《绿色通道》总共有 n 道题目要抄,编号 1,2,…,n,抄第 i 题要花 ai 分钟。 小 Y 决定只用不超过 t 分钟抄这个,因此必然有空着的题。 每道题要么不写,要么抄完,不能写一半。 下标连续的一些空题称为一个空题段,它的长度就是所包含的题目数。 这样应付自然会引起马老师的愤怒,最长的空题段越长,马老师越生气。 现在,小 Y 想知道他在这 t 分钟内写哪些题,才能够...
烽火台是重要的军事防御设施,一般建在交通要道或险要处。 一旦有军情发生,则白天用浓烟,晚上有火光传递军情。 在某两个城市之间有 n 座烽火台,每个烽火台发出信号都有一定的代价。 为了使情报准确传递,在连续 m 个烽火台中至少要有一个发出信号。 现在输入 n,m 和每个烽火台的代价,请计算在两城市之间准确传递情报所需花费的总代价最少为多少。 输入格式 第一行是两个整数 n,m,具体...
John 打算驾驶一辆汽车周游一个环形公路。 公路上总共有 n 个车站,每站都有若干升汽油(有的站可能油量为零),每升油可以让汽车行驶一千米。 John 必须从某个车站出发,一直按顺时针(或逆时针)方向走遍所有的车站,并回到起点。 在一开始的时候,汽车内油量为零,John 每到一个车站就把该站所有的油都带上(起点站亦是如此),行驶过程中不能出现没有油的情况。 任务:判断以每个车站为起...
输入一个长度为 n 的整数序列,从中找出一段长度不超过 m 的连续子序列,使得子序列中所有数的和最大。 注意: 子序列的长度至少是 1。 输入格式 第一行输入两个整数 n,m。 第二行输入 n 个数,代表长度为 n 的整数序列。 同一行数之间用空格隔开。 输出格式 输出一个整数,代表该序列的最大子序和。 数据范围 1≤n,m≤300000, 保证所有输入和最终结果都在 in...