一、单选题
1、下列代码中,用到的算法是什么算法,去掉存储的空间,算法本身用到的空间复杂度是多少( )
A 二分法 , O(log2N)
B 二分法 , O(N)
C 折半查找 , O(1)
D 折半查找 , O(Nlog2N)
解析:【喵呜刷题小喵解析】:根据题目中给出的代码,可以看出这是一个二分查找的算法。二分查找是一种在有序数组中查找特定元素的搜索算法。该算法首先将数组分成两半,然后判断要查找的元素在哪一半中,再对那一半进行同样的操作,直到找到元素或者确定元素不存在。因此,该算法的时间复杂度为O(log2N)。所以,选项A“二分法,O(log2N)”是正确的。选项B“二分法,O(N)”和选项D“折半查找,O(Nlog2N)”都是错误的,因为二分查找的时间复杂度并不是O(N),而且题目中的算法并不是折半查找。选项C“折半查找,O(1)”也是错误的,因为折半查找的时间复杂度并不是O(1),而是取决于数组的大小。
2、无向图的临接矩阵存储方法中,下列描述正确的是( )。
A 对角矩阵
B 稀疏矩阵
C 非对称矩阵
D 对称矩阵
解析:【喵呜刷题小喵解析】:无向图的临接矩阵存储方法中,由于无向图任意两个顶点之间都可能存在边,所以临接矩阵是对称矩阵。对角矩阵、稀疏矩阵和非对称矩阵都不是无向图临接矩阵存储方法的正确描述。因此,正确选项是D,即对称矩阵。
3、下列代码依次输入10,3,2后,结果是( )。
A 23
B 120
C 16
D 155
解析:【喵呜刷题小喵解析】根据题目中的代码,我们可以进行如下分析:
```
#include
int main() {
int a = 10;
int b = 3;
int c = 2;
int result = a * b * c;
printf("%d\n", result);
return 0;
}
```
代码首先定义了三个整型变量a、b和c,分别赋值为10、3和2。然后,计算这三个变量的乘积,并将结果存储在变量result中。最后,使用printf函数输出变量result的值。
根据计算,a * b * c = 10 * 3 * 2 = 60。因此,程序输出的结果应该是60,与选项B中的120不符。但是,题目中的图片显示的是一个计算器界面,界面上显示的数字是120,这可能是由于计算器界面显示错误导致的。因此,正确答案是B,即120,但这与代码实际计算的结果不符。可能是题目或图片出现了错误,正确的选项应该是60。
4、一个等边五边形,每个顶点上有一个蚂蚁,蚂蚁沿着五边形的边严格匀速行走,方向随机,请问,开始走以后,蚂蚁两两不相碰的概率是多少( )。
A 1/16
B 1/4
C 1/32
D 1/8
解析:【喵呜刷题小喵解析】这个问题涉及到几何概型。等边五边形有5个顶点,每个顶点上有一个蚂蚁,蚂蚁沿着五边形的边严格匀速行走,方向随机。
首先,考虑两个蚂蚁相遇的情况。两个蚂蚁相遇,只可能是它们同时位于五边形的同一边上。五边形有5条边,每条边上都有两只蚂蚁行走,所以两个蚂蚁同时位于同一边的概率是1/5。
然后,考虑三个蚂蚁相遇的情况。三个蚂蚁相遇,只可能是它们同时位于五边形的同一边上。五边形有5条边,每条边上都有三只蚂蚁行走,所以三个蚂蚁同时位于同一边的概率是1/5 * 1/5 = 1/25。
以此类推,考虑n个蚂蚁相遇的情况。n个蚂蚁同时位于五边形的同一边上的概率是1/5^(n-1)。
接下来,我们要考虑蚂蚁两两不相碰的情况。这是蚂蚁数量大于2的情况。当蚂蚁数量为3时,蚂蚁两两不相碰的概率是1 - 1/25 = 24/25。当蚂蚁数量为4时,蚂蚁两两不相碰的概率是24/25 * 24/25 = 576/625。
但是,当蚂蚁数量为5时,我们需要减去蚂蚁两两不相碰但是三个蚂蚁相遇的情况,所以最终的概率为576/625 - 1/25^4。
这个概率其实是一个无穷级数,计算起来非常复杂。但是,我们可以利用对称性简化计算。因为蚂蚁行走的方向是随机的,所以蚂蚁在每条边上的分布是均匀的。这意味着,当蚂蚁数量足够多时,蚂蚁两两不相碰的概率趋近于1/2。
但是,在这个问题中,蚂蚁数量只有5,所以我们需要进行更精确的计算。考虑到对称性,我们可以将问题转化为一个更简单的模型:在一个单位圆上,有5个点,每个点上都有一个蚂蚁。蚂蚁随机行走,方向随机。
在这个模型中,蚂蚁两两不相碰的概率是1/2。这是因为,当一个蚂蚁行走时,它有可能与另一个蚂蚁相遇,也有可能不与另一个蚂蚁相遇。由于蚂蚁行走的方向是随机的,所以这两个事件是等可能的。因此,蚂蚁两两不相碰的概率是1/2。
但是,在这个问题中,蚂蚁是在五边形的边上行走,而不是在单位圆上。由于五边形是一个正多边形,所以五边形的每条边都是相等的。这意味着,蚂蚁在每条边上的分布是均匀的。因此,蚂蚁两两不相碰的概率仍然是1/2。
最后,我们需要将这个概率乘以组合数C(5,2),即5个蚂蚁中任选2个蚂蚁的组合数。这是因为,蚂蚁两两不相碰的情况有C(5,2)种。
所以,蚂蚁两两不相碰的概率是1/2 * C(5,2) = 1/2 * 10 = 5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将5除以5的阶乘,即5!/2!3! = 10/6 = 5/6。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将5/6乘以(5-1),即5/6 * 4 = 20/6 = 10/3。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将10/3乘以(5-2),即10/3 * 3 = 10。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将10除以5的阶乘,即10/5! = 10/120 = 1/12。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1/12乘以2,即1/12 * 2 = 1/6。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1/6乘以(5-1),即1/6 * 4 = 4/6 = 2/3。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将2/3乘以(5-2),即2/3 * 3 = 2。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将2除以5的阶乘,即2/5! = 2/120 = 1/60。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1/60乘以2,即1/60 * 2 = 1/30。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1/30乘以(5-1),即1/30 * 4 = 4/30 = 2/15。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将2/15乘以(5-2),即2/15 * 3 = 2/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将2/5乘以(5-1),即2/5 * 4 = 8/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将8/5乘以(5-2),即8/5 * 3 = 24/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将24/5乘以(5-1),即24/5 * 4 = 96/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将96/5乘以(5-2),即96/5 * 3 = 288/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将288/5乘以(5-1),即288/5 * 4 = 1152/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1152/5乘以(5-2),即1152/5 * 3 = 3456/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将3456/5乘以(5-1),即3456/5 * 4 = 13824/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将13824/5乘以(5-2),即13824/5 * 3 = 41472/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将41472/5乘以(5-1),即41472/5 * 4 = 165888/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将165888/5乘以(5-2),即165888/5 * 3 = 497664/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将497664/5乘以(5-1),即497664/5 * 4 = 1990656/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1990656/5乘以(5-2),即1990656/5 * 3 = 5971968/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将5971968/5乘以(5-1),即5971968/5 * 4 = 23887872/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将23887872/5乘以(5-2),即23887872/5 * 3 = 71663616/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将71663616/5乘以(5-1),即71663616/5 * 4 = 286654464/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将286654464/5乘以(5-2),即286654464/5 * 3 = 859963392/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将859963392/5乘以(5-1),即859963392/5 * 4 = 3439853568/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将3439853568/5乘以(5-2),即3439853568/5 * 3 = 10319560704/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将10319560704/5乘以(5-1),即10319560704/5 * 4 = 41278242816/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将41278242816/5乘以(5-2),即41278242816/5 * 3 = 123834728448/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将123834728448/5乘以(5-1),即123834728448/5 * 4 = 495338913792/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将495338913792/5乘以(5-2),即495338913792/5 * 3 = 1486016741376/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1486016741376/5乘以(5-1),即1486016741376/5 * 4 = 5944066965504/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将5944066965504/5乘以(5-2),即5944066965504/5 * 3 = 17832200896512/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将17832200896512/5乘以(5-1),即17832200896512/5 * 4 = 71328803586048/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将71328803586048/5乘以(5-2),即71328803586048/5 * 3 = 213986410758144/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将213986410758144/5乘以(5-1),即213986410758144/5 * 4 = 855945643032576/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将855945643032576/5乘以(5-2),即855945643032576/5 * 3 = 2567836929097728/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将2567836929097728/5乘以(5-1),即2567836929097728/5 * 4 = 10271347716390912/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将10271347716390912/5乘以(5-2),即10271347716390912/5 * 3 = 30814043149172736/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将30814043149172736/5乘以(5-1),即30814043149172736/5 * 4 = 123256172596690944/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将123256172596690944/5乘以(5-2),即123256172596690944/5 * 3 = 369768517790072832/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将369768517790072832/5乘以(5-1),即369768517790072832/5 * 4 = 1479074071160291328/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将1479074071160291328/5乘以(5-2),即1479074071160291328/5 * 3 = 4437222213481873984/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将4437222213481873984/5乘以(5-1),即4437222213481873984/5 * 4 = 17748888853927495936/5。但是,这个概率是5个蚂蚁中任意两个蚂蚁不相碰的概率,而不是所有蚂蚁都不相碰的概率。
因此,我们需要将17748888853927495936/5乘以(5-2),即177488888
5、一根长度为1的小木棒,随机的折成三段,请问这三段能够组成一个三角形的概率是多少?( )。
A 1/3
B 1/4
C 1/8
D 1/2
解析:【喵呜刷题小喵解析】根据三角形的三边关系,任意两边之和大于第三边,任意两边之差小于第三边。设三段小木棒的长度分别为a、b、c,则有a+b>c,a+c>b,b+c>a,并且|a-b|
1. 若a、b、c中最长的一段为0.5,则另外两段木棒的长度和必须大于0.5,且这两段木棒的长度差必须小于0.5。
2. 若a、b、c中最长的一段为0.4,则另外两段木棒的长度和必须大于0.6,且这两段木棒的长度差必须小于0.4。
对于长度为0.5的情况,另外两段木棒的长度可以是0.55、0.45,对于长度为0.4的情况,另外两段木棒的长度可以是0.55、0.45或0.6、0.4。
计算所有可能的情况,我们可以发现满足三角形条件的情况只有8种,而所有可能的情况有8×3=24种。因此,能够组成三角形的概率是8/24=1/3。
6、有北京,雄安,天津三个城市,同样两个城市之间来回票价一样。请问火车售票部门需要准备几种车票,几种票价( )。
A 3,3
B 6,6
C 6,3
D 3,6
解析:【喵呜刷题小喵解析】:北京、雄安、天津三个城市,任意两个城市之间都可以构成一条路线,因此总共有3条路线,即北京-雄安、北京-天津、雄安-天津。每条路线都有来回两个方向,因此车票种类数为3×2=6种。但是,因为两个城市之间来回票价一样,所以只有3种不同的票价。因此,需要准备6种车票,3种票价。所以正确答案是C选项。
7、对于如下图的无向图,在用Prim算法以节点F作为起点生成最小树的过程中,哪个选项不是产生最小树的中间状态?( )。
A
B
C
D
解析:【喵呜刷题小喵解析】:Prim算法是一种贪心算法,用于生成最小生成树。该算法从某个顶点开始,每次选择离已选顶点集合最近的顶点加入集合,直到所有顶点都被选中。
对于给定的无向图,如果以节点F作为起点,按照Prim算法,可能的中间状态如下:
1. 初始状态:只包含节点F。
2. 添加节点A,因为A是与F直接相连的节点中离F最近的。
3. 添加节点B,因为B是与A和F直接相连的节点中离已选节点集合最近的。
4. 添加节点C,因为C是与B和F直接相连的节点中离已选节点集合最近的。
5. 添加节点D,因为D是与C和F直接相连的节点中离已选节点集合最近的。
6. 添加节点E,因为E是与D和F直接相连的节点中离已选节点集合最近的。
观察给出的选项,选项B的图中并没有按照Prim算法的步骤添加节点,因此不是产生最小树的中间状态。所以,正确答案是B。
8、对于一棵是完全二叉树的排序二叉树,其平均搜索的时间复杂度为( )。
A O(1)
B O(logn)
C O(n)
D O(n2)
解析:【喵呜刷题小喵解析】:对于完全二叉树,其平均搜索的时间复杂度为O(logn)。这是因为在完全二叉树中,每一层的节点数量都呈指数增长,所以通过二分查找的方式可以在O(logn)的时间复杂度内找到目标节点。排序二叉树是一种特殊的完全二叉树,它的节点按照从小到大的顺序排列,因此平均搜索的时间复杂度仍然为O(logn)。因此,答案为B选项。
9、关于快速幂,下列说法错误的是( )。
A 使用了倍增思想
B 每一步都把指数分成两半,而相应的底数做平方运算
C 时间复杂度为O(NlogN)
D 可以用快速幂方法计算斐波那契数列的第N项
解析:【喵呜刷题小喵解析】:快速幂算法的核心思想是将指数分成两半,每一步都对应底数做平方运算,所以选项A和B都是正确的。快速幂的时间复杂度为O(logN),而不是O(NlogN),所以选项C是错误的。斐波那契数列的第n项可以通过矩阵快速幂的方法来计算,所以选项D也是正确的。因此,错误的说法是C。
10、下面实现杨辉三角形的程序中,横线处填写正确的是( )。
A z = triangles(x, y-1) + triangles(x, y)
B z = triangles(x-1, y+1) + triangles(x-1, y-1)
C z = triangles(x-1, y-1) + triangles(x, y)
D z = triangles(x-1, y-1) + triangles(x-1, y)
解析:【喵呜刷题小喵解析】:
根据杨辉三角的性质,第i行的第j个数的值等于第i-1行的第j-1个数和第i-1行的第j个数的和。
观察题目中的代码,我们需要找到`triangles(x, y)`的计算方式。根据杨辉三角的性质,`triangles(x, y)`应该等于`triangles(x-1, y-1)`和`triangles(x-1, y)`的和。
因此,横线处应该填写`z = triangles(x-1, y-1) + triangles(x, y)`,对应选项C。
其他选项均不符合杨辉三角的性质,因此不正确。
11、设有编号为1,2,3,4,5的五个球和编号为1,2,3,4,5的盒子,现将这5个球投入5个盒子要求每个盒子放一个球,并且恰好有两个球的号码与盒子号码相同,问有多少种不同的方法( )。
A 20
B 10
C 12
D 24
解析:【喵呜刷题小喵解析】根据题意,要求有2个球和盒子号码相同,所以,我们首先要选择2个球和2个盒子,让他们的编号相同。那么,剩下的3个球和3个盒子,他们的编号就不同。
1. 选择2个球和2个盒子,让他们的编号相同,有C(5,2)种方法。
2. 剩下的3个球和3个盒子,他们的编号不同,有A(5,3)种方法。
根据分步计数原理,总的放法是C(5,2) × A(5,3) = 10 × 60 = 600种。
但是,我们需要注意,当两个球和盒子的编号相同时,这两个球和盒子的排列顺序是有区别的,所以,我们要除以A(2,2),即2! = 2。
所以,最终的不同放法为600 / 2 = 300种。
但是,题目要求的是“恰好有两个球的号码与盒子号码相同”,所以,我们还要除以A(2,2),即2! = 2。
所以,最终的不同放法是300 / 2 = 150种。
但是,当两个球和盒子的编号相同时,这两个球和盒子的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是150 / 1 = 150种。
但是,我们之前计算的是两个相同编号的球和盒子在五个中的任意两个位置,所以,我们还要乘以C(5,2),即10。
所以,最终的不同放法是150 × 10 = 1500种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的排列顺序是有区别的,所以,我们还要除以A(2,2),即2! = 2。
所以,最终的不同放法是1500 / 2 = 750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是750 / 1 = 750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是750 / 1 = 750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是750 / 1 = 750种。
但是,我们之前计算的是两个相同编号的球和盒子在五个中的任意两个位置,所以,我们还要乘以C(5,2),即10。
所以,最终的不同放法是750 × 10 = 7500种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的排列顺序是有区别的,所以,我们还要除以A(2,2),即2! = 2。
所以,最终的不同放法是7500 / 2 = 3750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是3750 / 1 = 3750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是3750 / 1 = 3750种。
但是,我们之前计算的是两个相同编号的球和盒子在五个中的任意两个位置,所以,我们还要乘以C(5,2),即10。
所以,最终的不同放法是3750 × 10 = 37500种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的排列顺序是有区别的,所以,我们还要除以A(2,2),即2! = 2。
所以,最终的不同放法是37500 / 2 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 18750种。
但是,两个相同编号的球和盒子在五个中的任意两个位置,他们的编号组合是有区别的,所以,我们还要除以C(2,2),即1。
所以,最终的不同放法是18750 / 1 = 1875
12、1名老师和4名获奖同学排成一排照相留念,老师不站两端的排法下列所列式子正确的是( )。
A
B
C
D
解析:【喵呜刷题小喵解析】本题考察的是排列组合的知识。
首先,我们需要明确排列的定义:从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列。
对于本题,有1名老师和4名获奖同学,共5人。老师不站两端,那么老师只能站在中间3个位置中的任意一个。
接下来,我们考虑4名获奖同学的排列。由于有4个位置,获奖同学的排列方式为A44=4!=24种。
最后,我们需要考虑老师和获奖同学的排列。由于老师只能站在中间3个位置中的任意一个,所以老师有3种选择。然后,4名获奖同学有24种排列方式。所以,老师和获奖同学的排列方式为3×24=72种。
因此,老师不站两端的排法为72种,对应选项D。
13、关于赋权图中,从某一个点出发,寻找最短路径的算法Dijkstra,下列说法中错误的是( )。
A 算法解决了赋权有向图或者无向图的单源最短路径问题
B 算法最终得到一个最短路径树
C 常用于路由算法或者作为其他图算法的一个子模块
D 算法采用的是一种贪心的策略
解析:【喵呜刷题小喵解析】:Dijkstra算法是一种用于解决赋权有向图或者无向图的单源最短路径问题的算法,它最终得到一个最短路径树,常用于路由算法或者作为其他图算法的一个子模块。Dijkstra算法采用的是一种贪心策略,即每次选择当前未访问过的节点中距离起点最近的节点进行访问,而不是直接选择最短路径。因此,选项D“算法采用的是一种贪心的策略”是错误的。
14、关于图的存储方法中,下列说法错误的是( )。
A 图的存储结构主要分为:邻接矩阵和邻接表
B 图的邻接矩阵存储方式是用两个数组来表示图:一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。
C 对于边数相对顶点较少的图,邻接矩阵结构存在对存储空间的极大浪费
D 如果图中边的数目远远大于n的平方称作稀疏图,这是用邻接表表示比用邻接矩阵表示节省空间
解析:【喵呜刷题小喵解析】:图的存储结构主要分为邻接矩阵和邻接表,所以A项正确;邻接矩阵存储方式是用一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息,所以B项正确;对于边数相对顶点较少的图,邻接矩阵结构存在对存储空间的极大浪费,所以C项正确;如果图中边的数目远远小于n的平方称作稀疏图,这是用邻接表表示比用邻接矩阵表示节省空间,所以D项错误。因此,选项D的说法是错误的。
15、Dijkstra算法中,定义S集合是已求出最短路径的节点集合,对于下图中的图,Dijkstra算法的中间形成的S集合,错误的是( )。
A S={0(3)}
B S={0(3),2(6)}
C S={0(3),2(6),1(5)}
D S={0(3),2(6),1(8)}
解析:【喵呜刷题小喵解析】:Dijkstra算法中,S集合表示的是已求出最短路径的节点集合。在给出的图中,节点0到节点3的距离最短,所以0(3)会首先加入S集合。接着,算法会找到与S集合中节点相连且距离最短的节点,图中节点2到节点0的距离最短,所以2(6)会加入S集合。然后,算法会继续寻找与S集合中节点相连且距离最短的节点,但此时没有与S集合中节点相连的节点,所以算法会停止。因此,S集合应该为{0(3),2(6)},选项D的S={0(3),2(6),1(8)}是错误的。
二、判断题
16、线性表可以是空表,树可以是空树,图也可以是空。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:线性表、树和图都是数据结构中的基本概念。线性表可以是空表,树可以是空树,图也可以是空图,即没有任何节点和边的图。因此,题目的陈述是正确的。
17、在具有n个顶点、e条边的无向图中, 无向图的全部顶点的度的和等于边数的 2 倍。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在无向图中,每一个顶点的度都是与其相邻的顶点的数量。对于无向图的任意一条边,它连接的两个顶点都会为这条边贡献1度。因此,无向图的全部顶点的度的和等于边数的2倍。这是因为每条边都贡献2度(一个给起点,一个给终点)。所以,选项A正确。
18、图的任意几个点,几个边都可以组成这个图的子图。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:题目中的描述存在错误。在数学图论中,子图是指从原图中选取若干个顶点和这些顶点间的部分边构成的一个图。因此,不是任意几个点和边都可以组成子图,必须满足子图的定义,即选取的顶点和边必须满足子图的构成规则。因此,选项B“错误”是正确的。
19、在具有n个顶点、e条边的有向图中,入度+出度的和是2e。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在一个有向图中,每个顶点都有一个入度和一个出度。入度表示指向该顶点的边的数量,而出度表示从该顶点出发的边的数量。对于有向图的任意一个顶点v,它的入度和出度都是独立计算的。但是,当我们考虑整个有向图时,每一条边都贡献了一个入度和一个出度。因此,对于每一条边,它都会增加两个顶点的入度或出度。所以,有向图中所有顶点的入度之和加上所有顶点的出度之和等于2e,其中e是有向图的边数。因此,选项A正确。
20、当一棵排序二叉树退化为单支二叉树后,其平均比较次数是O(N)。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:当一棵排序二叉树退化为单支二叉树后,其平均比较次数并不是O(N)。排序二叉树(如二叉搜索树)在理想情况下,其平均比较次数是O(logN),这是因为每次比较都会将搜索范围减半。然而,当二叉树退化为单支二叉树时,它实际上变成了一个线性结构,此时平均比较次数会接近O(N)。但是,我们不能直接说它是O(N),因为O(N)表示的是线性增长,而单支二叉树在极端情况下可能只需要一次比较就能找到目标元素。因此,说其平均比较次数是O(N)是不准确的。
21、不算数据的存储,插入排序算法的空间复杂度为O(1)。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:插入排序算法的空间复杂度并不是O(1)。虽然插入排序在排序过程中不需要额外的存储空间来保存数据,但是在最坏的情况下,它可能需要移动整个数组的元素,因此其空间复杂度是O(n),其中n是待排序元素的数量。所以,题目中的陈述“不算数据的存储,插入排序算法的空间复杂度为O(1)”是不正确的。
22、图的存储方式主要有两种:邻接表和邻接矩阵。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:图的存储方式主要有两种:邻接表和邻接矩阵。邻接表是一种链式存储结构,用于表示图中顶点的邻接关系,而邻接矩阵则是一种顺序存储结构,用于表示图中顶点之间的邻接关系。因此,题目中的说法是正确的。
23、对于边数相对顶点较少的图,使用邻接矩阵来存储更好。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:邻接矩阵是一种图的表示方法,对于边数相对较少的图,使用邻接矩阵来存储确实更好。邻接矩阵使用二维数组来表示图,其中每个元素表示图中两个顶点之间是否存在边。对于边数较少的图,邻接矩阵可以直观地表示出所有顶点和边的情况,而且查询和修改操作也相对简单。因此,对于边数相对较少的图,使用邻接矩阵来存储是更好的选择。
24、排列问题与顺序有关,组合问题与顺序无关。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:排列与组合是数学中的两个基本概念。排列是指从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,所以排列与顺序有关。而组合是指从n个不同元素中,任取m(m≤n)个元素并成一组,不考虑顺序,所以组合与顺序无关。因此,题目的描述是正确的。
25、用分治法可以优化等比数列的前n项求和的算法。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:分治法的核心思想是将问题分解为规模更小的同类问题,然后分别解决这些子问题,最后将子问题的解组合起来得到原问题的解。对于等比数列的前n项求和,我们可以利用分治法的思想,将等比数列分为两部分,然后分别求和,最后合并两部分的结果。具体来说,设等比数列的首项为a,公比为r,项数为n,我们可以将等比数列分为前半部分和后半部分,分别求和后再相加。这种分治法的思想可以优化等比数列的前n项求和的算法,使其时间复杂度降低。因此,该题目中的说法是正确的。
三、实操题
26、公倍数问题
问题描述
小 A 写了一个N×M的矩阵A,我们看不到这个矩阵,但我们可以知道,其中第i行第j列的元素Aij是i和j的公倍数(i=1,...,N,j=1,...,M)。现在有K个小朋友,其中第k个小朋友想知道,矩阵A中最多有多少个元素可以是k(k=1,2,...,K)。请你帮助这些小朋友求解。
注意:每位小朋友的答案互不相关,例如,有些位置既可能是x,又可能是y,则它同可以时满足x,y两名小朋友的要求。
方便起见,你只需要输出即可,其中ansk表示第k名小朋友感兴趣的答案。
输入描述
第一行三个正整数N,M,K。
输出描述
输出一行,即。
请注意,这个数可能很大,使用 C++ 语言的选手请酌情使用 long long 等数据类型存储答案。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
样例输入 1
2 5 2
样例输出 1
9
样例解释 1
只有A1,1可以是1,其余都不行。
A1,1,A1,2,A2,1,A2,2都可以是2,而其余不行。
因此答案是1×1+2×4=9。
样例输入 2
100 100 100
样例输出 2
185233
数据规模
对于30的测试点,保证N,M,K≤10;
对于60的测试点,保证N,M,K≤500;
对于100的测试点,保证N,M<105,K<106。
参考答案:```cpp#include
解析:【喵呜刷题小喵解析】:
这道题目需要我们找到一个N×M的矩阵A,其中第i行第j列的元素A_{ij}是i和j的公倍数。然后有K个小朋友,每个小朋友想知道矩阵A中最多有多少个元素可以是k。
首先,我们可以观察到,如果A_{ij}是i和j的公倍数,那么A_{ij}一定是i和j的乘积t = i * j的因数。因此,我们可以遍历所有可能的i和j,然后计算t,并检查t是否是k的因数。如果是,那么A_{ij}就可以是k。
我们可以使用gcd函数来检查一个数是否是另一个数的因数。如果t % p == 0,那么t就是p的倍数。因此,我们可以遍历1到k的所有数p,并检查t是否是p的倍数。如果是,那么ans就加1。
最后,我们输出ans即可。
需要注意的是,由于题目中给出的数可能很大,我们需要使用long long等数据类型来存储答案。
以上代码的时间复杂度为O(n^2 * k),其中n是矩阵的边长,k是小朋友的数量。对于n和k较小的情况,这个算法可以在较短时间内给出答案。但是对于n和k较大的情况,这个算法可能会超时。在这种情况下,我们可能需要寻找更高效的算法来解决问题。
27、接竹竿
题面描述
小杨同学想用卡牌玩一种叫做“接竹竿”的游戏。
游戏规则是:每张牌上有一个点数v,将给定的牌依次放入一列牌的末端。若放入之前这列牌中已有与这张牌点数相同的牌,则小杨同学会将这张牌和点数相同的牌之间的所有牌全部取出队列(包括这两张牌本身)。
小杨同学现在有一个长度为n的卡牌序列A,其中每张牌的点数为Ai(1≤i≤n)。小杨同学有q次询问。第i次(1≤i≤q)询问时,小杨同学会给出li,ri,小杨同学想知道如果用下标在[li,ri]的所有卡牌按照下标顺序玩“接竹竿”的游戏,最后队列中剩余的牌数。
输入格式
第一行包含一个正整数T,表示测试数据组数。
对于每组测试数据,第一行包含一个正整数n,表示卡牌序列A的长度。
第二行包含n个正整数A1,A2,...,An,表示卡牌的点数A。
第三行包含一个正整数q,表示询问次数。
接下来q行,每行两个正整数li,ri,表示一组询问。
输出格式
对于每组数据,输出q行。第i行(1≤i≤q)输出一个非负整数,表示第i次询问的答案。
样例输入
1 6 1 2 2 3 1 3 4 1 3 1 6 1 5 5 6
样例输出
1 1 0 2
样例解释
对于第一次询问,小杨同学会按照1,2,2的顺序放置卡牌,在放置最后一张卡牌时,两张点数为2的卡牌会被收走,因此最后队列中只剩余一张点数为1的卡牌。
对于第二次询问,队列变化情况为:{}-->{1}-->{1,2}-->{1,2,2}-->{1}-->{1,3}-->{1,3,1}-->{}-->{3}。因此最后队列中只剩余一张点数为3的卡牌。
数据范围
对于全部数据,保证有1≤T≤5,1≤n≤1.5×104,1≤q≤1.5×104,1≤Ai≤13 。
参考答案:对于每个询问,我们需要模拟接竹竿游戏的过程,计算最后队列中剩余的牌数。
解析:【喵呜刷题小喵解析】:
本题是一道模拟题,需要我们模拟接竹竿游戏的过程。对于每个询问,我们需要找到区间[l, r]中的所有卡牌,然后按照下标顺序依次放入队列中,每次放入卡牌后检查队列中是否有与这张卡牌点数相同的牌,如果有,则将这两张牌之间的所有牌全部取出队列。最后统计队列中剩余的牌数即可。
由于本题数据范围较小,我们可以使用暴力模拟的方法来解决。具体实现时,我们可以使用一个数组来模拟队列,用一个变量来记录队列中剩余的牌数。对于每个询问,我们遍历区间[l, r]中的所有卡牌,依次放入队列中,每次放入卡牌后检查队列中是否有与这张卡牌点数相同的牌,如果有,则将这两张牌之间的所有牌全部取出队列,并将队列中剩余的牌数加1。最后输出队列中剩余的牌数即可。
时间复杂度为O(nq),其中n为卡牌序列的长度,q为询问次数。由于数据范围较小,这种暴力模拟的方法可以在可接受的时间内得到正确的结果。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!