QQ扫一扫联系
下列代码中,用到的算法是什么算法,去掉存储的空间,算法本身用到的空间复杂度是多少( )
二分法 , O(log2N)
二分法 , O(N)
折半查找 , O(1)
折半查找 , O(Nlog2N)
无向图的临接矩阵存储方法中,下列描述正确的是( )。
对角矩阵
稀疏矩阵
非对称矩阵
对称矩阵
下列代码依次输入10,3,2后,结果是( )。
23
120
16
155
一个等边五边形,每个顶点上有一个蚂蚁,蚂蚁沿着五边形的边严格匀速行走,方向随机,请问,开始走以后,蚂蚁两两不相碰的概率是多少( )。
1/16
1/4
1/32
1/8
一根长度为1的小木棒,随机的折成三段,请问这三段能够组成一个三角形的概率是多少?( )。
1/3
1/4
1/8
1/2
有北京,雄安,天津三个城市,同样两个城市之间来回票价一样。请问火车售票部门需要准备几种车票,几种票价( )。
3,3
6,6
6,3
3,6
对于如下图的无向图,在用Prim算法以节点F作为起点生成最小树的过程中,哪个选项不是产生最小树的中间状态?( )。
对于一棵是完全二叉树的排序二叉树,其平均搜索的时间复杂度为( )。
O(1)
O(logn)
O(n)
O(n2)
关于快速幂,下列说法错误的是( )。
使用了倍增思想
每一步都把指数分成两半,而相应的底数做平方运算
时间复杂度为O(NlogN)
可以用快速幂方法计算斐波那契数列的第N项
下面实现杨辉三角形的程序中,横线处填写正确的是( )。
z = triangles(x, y-1) + triangles(x, y)
z = triangles(x-1, y+1) + triangles(x-1, y-1)
z = triangles(x-1, y-1) + triangles(x, y)
z = triangles(x-1, y-1) + triangles(x-1, y)
设有编号为1,2,3,4,5的五个球和编号为1,2,3,4,5的盒子,现将这5个球投入5个盒子要求每个盒子放一个球,并且恰好有两个球的号码与盒子号码相同,问有多少种不同的方法( )。
20
10
12
24
1名老师和4名获奖同学排成一排照相留念,老师不站两端的排法下列所列式子正确的是( )。
关于赋权图中,从某一个点出发,寻找最短路径的算法Dijkstra,下列说法中错误的是( )。
算法解决了赋权有向图或者无向图的单源最短路径问题
算法最终得到一个最短路径树
常用于路由算法或者作为其他图算法的一个子模块
算法采用的是一种贪心的策略
关于图的存储方法中,下列说法错误的是( )。
图的存储结构主要分为:邻接矩阵和邻接表
图的邻接矩阵存储方式是用两个数组来表示图:一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。
对于边数相对顶点较少的图,邻接矩阵结构存在对存储空间的极大浪费
如果图中边的数目远远大于n的平方称作稀疏图,这是用邻接表表示比用邻接矩阵表示节省空间
Dijkstra算法中,定义S集合是已求出最短路径的节点集合,对于下图中的图,Dijkstra算法的中间形成的S集合,错误的是( )。
S={0(3)}
S={0(3),2(6)}
S={0(3),2(6),1(5)}
S={0(3),2(6),1(8)}
线性表可以是空表,树可以是空树,图也可以是空。
在具有n个顶点、e条边的无向图中, 无向图的全部顶点的度的和等于边数的 2 倍。
图的任意几个点,几个边都可以组成这个图的子图。
在具有n个顶点、e条边的有向图中,入度+出度的和是2e。
当一棵排序二叉树退化为单支二叉树后,其平均比较次数是O(N)。
不算数据的存储,插入排序算法的空间复杂度为O(1)。
图的存储方式主要有两种:邻接表和邻接矩阵。
对于边数相对顶点较少的图,使用邻接矩阵来存储更好。
排列问题与顺序有关,组合问题与顺序无关。
用分治法可以优化等比数列的前n项求和的算法。
公倍数问题
问题描述
小 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。
接竹竿
题面描述
小杨同学想用卡牌玩一种叫做“接竹竿”的游戏。
游戏规则是:每张牌上有一个点数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 。