C3-A
C3-A 流水线调度1
题目描述
在某一车间有 333 条流水线,每条流水线有 mmm 个装配站,编号都为 1,2,⋯ ,m1, 2, \cdots, m1,2,⋯,m,每条流水线同样编号的装配站都执行相同的功能。拼装一个成品要按顺序经过 mmm 个装配站才能加工完成,经过第 iii 条流水线的第 jjj 个装配站要花费 pi,jp_{i,j}pi,j 的时间,且进入第一个装配站时无需移动时间,从第 iii 条流水线移动到第 jjj 条流水线要花费 ti,jt_{i,j}ti,j 的时间,请问制造一个成品最少时间是多少?
题目分析
对于第iii条流水线的第jjj个站点,他可能由333条流水线的任意一条的第j−1j-1j−1个站点得到。所以可以用dp[i][j]dp[i][j]dp[i][j]表示经过第iii条流水线的第jjj个站点要花费的最少时间,可得到状态转移方程如下:
dp[i][j]=min(dp[1][j−1]+t[1][i],dp[2][j−1]+t[2][i],dp[3][j−1]+t[3][i])+p[i][j]dp[i][j]=min(dp[1][j-1]+t[1 ...
Lab03
Lab 03
Question 01
相关代码见\soultion\Question01
Question 02
不正确,删除int something保持与父类eat方法中一样无参,重写的方法必须有相同的参数列表。
不可以,重写的方法不能使用限制等级更严格的权限修饰符。
不正确,返回类型改为Worker,返回new Worker(),重写的方法要返回相同的类型。
不正确,返回类型改为int,返回(int)my_salary重写的方法要返回相同的类型。
非静态方法可以被覆盖,属性和静态方法不能被覆盖可以被隐藏。
Question 03
区别点
this
super
引用(代表什么)
当前类对象
当前对象的父类对象
使用方式
直接引用,区分同名形参与成员
直接引用,区分同名子类成员变量或方法和父类成员变量或方法
调用构造方法(调用谁的构造方法,放在第几条语句)
调用本类对应形参的构造方法,放在第一条
调用父类对应形参的构造方法,放在第一条
查找范围(查找顺序)
先从本类查找,找不到则去父类
只能查找父类
Question 04
不能被继承,可以继承其 ...
C2-F
C2-F 2024-排序?数数!
题目描述
对于一个数组A=[a1,a2,a3,...an]A=[a_1,a_2,a_3,...a_n]A=[a1,a2,a3,...an],定义
f(A)=∑i=0norder(ai)∙aif(A)=\sum_{i=0}^{n}order(a_i)\bullet a_i
f(A)=i=0∑norder(ai)∙ai
其中
order(ai)=1+∑aj<ai 1≤j≤n1order(a_i)=1+\sum_{a_j<a_i\,1\leq j\leq n}1
order(ai)=1+aj<ai1≤j≤n∑1
给出随机数生成器
123456789int nextRand() { static unsigned int rnd_num = 0x80000001; static int mod = 1e5 + 3; rnd_num ^= rnd_num >> 10; rnd_num ^= rnd_num << 9; rnd_num ^= rnd_num & ...
C1-E
E 莫卡与一元多项式
题目描述
给定如下两个一元多项式:
∑i=0naixi=a0+a1x+a2x2+...+anxn\sum_{i=0}^n a_ix^i = a_0+a_1x+a_2x^2+...+a_nx^n
i=0∑naixi=a0+a1x+a2x2+...+anxn
∑i=0mbixi=b0+b1x+b2x2+...+bmxm\sum_{i=0}^m b_ix^i = b_0+b_1x+b_2x^2+...+b_mx^m
i=0∑mbixi=b0+b1x+b2x2+...+bmxm
定义如下的二元多项式:
f(x,y)=(∑i=0naixi)(∑i=0mbixi)f(x,y)=(\sum_{i=0}^n a_ix^i)(\sum_{i=0}^m b_ix^i)
f(x,y)=(i=0∑naixi)(i=0∑mbixi)
你需要处理q次计算,第i次计算给定两个变量值XiX_iXi 和 YiY_iYi,你需要求解 f(Xi,Yi) mod 10007f(X_i,Y_i)\bmod10007f(Xi,Yi)mod10007
题目分析
根据
...
E1-B
E1-B Hope Is the Thing With Feathers
题目描述
小A给出了n个正整数 a1a_1a1,…,ana_nan。
小A提出了q个问题。第i个问题中,小 A 会给出did_idi,kik_iki,他想知道有多少aj(1≤j≤n)a_j(1\leq j \leq n)aj(1≤j≤n)满足⌊ajdi⌋=ki\lfloor \frac{a_j}{d_i}\rfloor=k_i⌊diaj⌋=ki。
题目分析
满足⌊ajdi⌋=ki\lfloor\frac{a_j}{d_i}\rfloor=k_i⌊diaj⌋=ki即满足diki≤aj<di(ki+1)d_i k_i\leq a_j<d_i(k_i+1)diki≤aj<di(ki+1)。
可以考虑寻找dikid_i k_idiki和di(ki+1)d_i(k_i+1)di(ki+1),a数组中小于di(ki+1)d_i(k_i+1)di(ki+1)的数总频率减去小于dikid_i k_idiki的数总频率即为所求。
首先想到排序后二分查找,但是容易 ...
Lab02
Lab02
Question 01
m未被初始化;
m需要被初始化才能使用,x为成员变量,具有默认值,m为局部变量没有默认值;
Question 02
**d.**类有两个构造方法,类中已经定义了两个有参构造方法,此时无参构造方法需要显示定义。
Question 03
输出
initialize A1
initialize A2
initialize A3
initialize A4
initialize A5
initialize A6
copy from A6
initialize B1
initialize A8
main begins
initialize A9
initialize A6
copy from A6
initialize B2
initialize A8
main ends
分析
静态变量和静态代码块按声明顺序初始化;
实例变量在构造函数之前初始化;
main方法中的局部变量按顺序初始化;
Question 04
可以,因为每次创建B类型对象都是先输出的initialize A6和copy from A6再输出的initialize A8 ...







