前缀和练习1

感谢您能抽出几分钟时间来参加本次答题,现在我们就马上开始吧!

Q1:姓名

填空1

:完善程序1【Suan 数区间统计】蒜头君定义了一种数叫 suan 数:如果一个整数 x 是 suan 数,那么它必定能被给定的正整数 k 整除。现有 n 次询问,每次给出两个正整数 l, r(l = r),请你统计区间 (l, r](即不包含左端点 l)中有多少个整数是 suan 数。数据范围:1 = n, k, l, r = 10^5,且 l = r。下面是一段用于解决该问题的不完整 C++ 代码。它使用前缀和数组 s[i] 表示前 i 个整数中 suan 数的个数,从而实现区间查询。请在标有 ①~⑤ 的位置填入正确的表达式或语句。#includeusing namespace std;int n, k, s[①]; // 询问次数,k的倍数int main(){    cin n k;    for(int i=②; i=100000; i++) { // 前i个数中k的倍数的个数        if(③) s[i]=s[i-1]+1;     // 如果第i个数是k的倍数,总数+1        else s[i]=④; // 否则不变    }    while(n--) {        int l,r;        cin l r;        cout ⑤ endl;    }    return 0;}

Q2:①

A. 100005
B. 105
C.100000
D.100000005

Q3:②

A. 0
B. 1
C.2
D.3

Q4:③

A. i % k != 0
B. i % k < 0
C.i % k == 0
D. i % k == 1

Q5:④

A. k
B. i
C. s[i]
D.  s[i-1]

Q6:⑤

A. r - l + 1
B. r - l
C. s[r] - s[l - 1]
D.  s[r] - s[l]

:完善程序题2【咖啡温度】蒜头君想泡咖啡喝。现在他得到了 n 份菜谱,每个菜谱上都给了两个数 l, r,代表温度区间在 [l, r] 度泡出来的咖啡会很好喝。可是菜谱太多了,蒜头君一度感到疑惑。经过思考之后他得出了一个结论:某个温度只要有 k 份或者更多菜谱推荐,那么这个温度下泡出来的咖啡会很好喝。现在他给出了 m 个温度区间,同样还是用 [l, r] 表示,现在求问每个区间里面有多少个整数,使得咖啡在这个温度下泡出来会很好喝?输入格式:第一行为三个整数 n, k, m。第 2 ~ n+1 行,每行两个整数,代表菜谱里面的 l, r。第 n+2 ~ n+m+1 行,每行两个整数,代表询问温度区间里面的 l, r。输入的所有数都是正整数且不超过 2×10^5,且满足 l ≤ r,k ≤ n,且所有区间的长度之和不超过 10^7。输出格式:对于每个询问输出一行,为一个整数,表示有多少可用的温度。

Q7:完形填空

填空
填空
填空
填空
填空
前缀和练习1
关于
1个月前
更新
0
频次
9
题目数
分享
问问AI
有问题?问问AI帮你修改 改主题:如咖啡问卷改为奶茶问卷