解析:考考查计算机基础知识。WAN(Wide Area Network)是广域网的缩写。
解析:在N 个不相同数字的数组同时查找最大值与最小值的算法思想如下:
对N 个数字两两比较,再将较大的数字与最大值打擂台,较小的数字与最小值打擂台。 最坏情况下的算法时间复杂度:
当N 是奇数时,⌈ N / 2 ⌉ × 3 。将第一个数赋值给最大值和最小值。然后将剩下N − 11个整数两两一组,共( N − 1 ) / 2 组,每组组内比较一次,与最大值比较一次,与最小值比较一次,共三次。总比较次数:3 × ( N − 1 ) / 2
当N NN是偶数时,将前两个数比较一次,将较大数赋值给最大值、较小数赋值给最小值。然后将剩下的N − 2 N-2个数两两一组,共( N − 2 ) / 2 (N-2)/2组,每组组内比较一次,与最大值比较一次,与最小值比较一次,共三次。总比较次数3 × ( N − 2 ) / 2 + 1 。
本题可以将尝试用N = 3排除选项C,答案:D。
解析:简单无向连通图。 含平行边(重边)的图称为多重图,既不含平行边也不包含自环的图称为简单图。
4个结点的简单无向连通图,可以有3、4、5、6条边。
、
答案:由四个没有区别的点构成的简单无向连通图的个数是6。
解析:手动模拟
i = 0
j=0, v[0]=true, j = d[0] = 7
j=7, v[7]=true, j = d[7] = 8
j=8, v[8]=true, j = d[8] = 0
cnt=1
i = 1
j=1, v[1]=true, j = d[1] = 1
cnt=2
i=2
j=2, v[2]=true, j = d[2] = 4
j=4, v[4]=true, j = d[4] = 2
cnt=3
i=3
j=3, v[3]=true, j = d[3] = 3
cnt=4
i=4
i=5
j=5, v[5]=true, j = d[5] = 5
cnt=5
i=6
j=6, v[6]=true, j = d[6] = 9
j=9, v[9]=true, j = d[9] = 6
cnt=6
i=7
i=8
i=9
答案:6
#include <iostream>
using namespace std;
const int N = 110000, P = 10007;
int n;
int a[N], len;
int ans;
void getDivisor() {
len = 0;
for (int i = 1; ① <= n; ++i)
if (n % i == 0) {
a[++len] = i;
if ( ② != i) a[++len] = n / i;
}
}
}
int gcd(int a, int b) {
if (b == 0) {
③ ;
}
return gcd(b, ④ );
}
int main() {
cin >> n;
getDivisor();
ans = 0;
for (int i = 1; i <= len; ++i) {
for (int j = i + 1; j <= len; ++j) {
ans = ( ⑤ ) % P;
}
}
cout << ans << endl;
return 0;
}
解析:空①,要求 getDivisor 函数的复杂度为 O ( n ) ,所以此空应填i*i。
空②,不能将相同的约数存入a[],所以此空应填n/i 空③,辗转相除法求最大公约数,此空应填return a
空④,此空应填a%b 空⑤,求约数两两之间最大公约数的和,此空应填ans+gcd(a[i],a[j])
#include <iostream>
using namespace std;
const int N = 100010;
int n;
int L[N], R[N], a[N];
int main() {
cin >> n;
for (int i = 1; i <= n; ++i) {
int x;
cin >> x;
① ;
}
for (int i = 1; i <= n; ++i) {
R[i] = ② ;
L[i] = i - 1;
}
for (int i = 1; i <= n; ++i) {
L[ ③ ] = L[a[i]];
R[L[a[i]]] = R[ ④ ];
}
for (int i = 1; i <= n; ++i) {
cout << ⑤ << " ";
}
cout << endl;
return 0;
}
解析:双链表右侧第一个更大值
空①,保存x在链表中的位置,a[x]=i
空②,初始化链表,将R[i]指向它的右侧位置i+1
空③,从小到大将当前最小的数,从双链表中删除,L[R[a[i]]] = L[a[i]]
空④,R[L[a[i]]] => R[a[i]];
空⑤,输出每个位置之后第一个比当前位置值更大的位置,R[i]。
解析:制作不易打赏全靠自觉