首页 > 编程语言 >历年CSP-J初赛真题解析 | 2020年CSP-J初赛完善程序(34-43)

历年CSP-J初赛真题解析 | 2020年CSP-J初赛完善程序(34-43)

时间:2024-11-12 08:49:21浏览次数:3  
标签:__ le 真题 int 初赛 答案 处应 解析 CSP

学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。

附上汇总贴:历年CSP-J初赛真题解析 | 汇总_热爱编程的通信人的博客-CSDN博客


(质因数分解)给出正整数n,请输出将n质因数分解的结果,结果从小到大输出。

例如:输入n=120,程序应该输出2 2 2 3 5,表示120=2×2×2×3×5.输入保证2≤n≤10^9。提示:先从小到大枚举变量i,然后用i不停试除n来寻找所有的质因子。

试补全程序。

#include <cstdio>
using namespace std;

int n, i;

int main() {
    scanf("%d", &n);
    for (i = __1__; __2__ < = n; i ++) {
        __3__ {
            printf("%d ", i);
            n = n / i;
        }
    }
    if(__4__)
        printf("%d ", __5__);
    return 0;
}

第34题

1处应填( )

A.1

B.n-1

C.2

D.0

【答案】:C

【解析】

从2开始的每个因数,拿来试除n,选C

第35题

2处应填( )

A.n / i

B.n / (i * i)

C.i * i

D.i * i * i

【答案】:C

【解析】

质因数分解只试除到小于等于 n \sqrt{n} n ​的那些质因子,选C

第36题

3处应填( )

A.if (n % i == 0)

B.if (i * i <= n)

C.while (n % i == 0)

D.while (i * i <= n)

【答案】:C

【解析】

若n%i==0,则反复除,获得多个质因数,选C

第37题

4处应填( )

A.n > 1

B.n <= 1

C.i < n / i

D.i + i <= n

【答案】:A

【解析】

试除完所有小于等于√n的因子后,n还有剩(没有被除成1),说明这个此时n的值就是那个唯一大于√n的质因子

第38题

5处应填( )

A.2

B.n / i

C.n

D.i

【答案】:C

【解析】

参考第4题,此时就应该输出n。例如n=5时,输出5

(最小区间覆盖)给出n个区间,第i个区间的左右端点是[ a i a_i ai​, b i b_i bi​]。现在要在这些区间中选出若干个,使得区间[0,m]被所选区间的并覆盖(即每一个 0 ≤ i ≤ m 0\le i\le m 0≤i≤m都在某个所选的区间中)。保证答案存在,求所选区间个数的最小值。

输入第一行包含两个整数n和m ( 1 ≤ n ≤ 5000 , 1 ≤ m ≤ 1 0 9 ) (1\le n\le 5000, 1\le m\le 10^9) (1≤n≤5000,1≤m≤109)。

接下来n行,每行两个整数 a i a_i ai​, b i ( 0 ≤ a i , b i ≤ m ) b_i(0\le a_i,b_i\le m) bi​(0≤ai​,bi​≤m)。

提示:使用贪心法解决这个问题。现有 O ( n 2 ) O(n^2) O(n2)的时间复杂度排序,然后贪心选择这些区间。

试补全程序。

#include <iostream>

using namespace std;

const int MAXN = 5000;
int n, m;
struct segment {int a, b; } A[MAXN];

void sort()  // 排序
{
	for (int i=0; i<n; i++)
		for (int j=1; j<n; j++)
			if (__1__)
			{
				segment t = A[j];
				__2__
			}
}

int main()
{
	cin >> n >> m;
	for (int i=0; i<n; i++)
		cin >> A[i].a >> A[i].b;
	sort();
	int p = 1;
	for (int i=1; i<n; i++)
		if (__3__)
			A[p++] = A[i];
	n = p;
	int ans = 0, r = 0;
	int q = 0;
	while (r < m)
	{
		while (__4__)
			q++;
		__5__;
		ans++;
	}
	cout << ans << endl;
	return 0;
}

第39题

1处应填( )

A.A[j].b>A[j-1].b

B.A[j].a<A[j-1].a

C.A[j].a>A[j-1].a

D.A[j].b<A[j-1].b

【答案】:B

【解析】

冒泡排序,每次循环将左端点最大的线段排到最右边

第40题

2处应填( )

A.A[j+1]=A[j];A[j]=t;

B.A[j-1]=A[j];A[j]=t;

C.A[j]=A[j+1];A[j+1]=t;

D.A[j]=A[j-1];A[j-1]=t;

【答案】:D

【解析】

如果左侧线段的左端点更大,左右交换

第41题

3处应填( )

A.A[i].b>A[p-1].b

B.A[i].b<A[i-1].b

C.A[i].b>A[i-1].b

D.A[i].b<A[p-1].b

【答案】:A

【解析】

把被其他更大范围的线段覆盖的线段删除

第42题

4处应填( )

A.q+1<n&&A[q+1].a<=r

B.q+1<n&&A[q+1].b<=r

C.q<n&&A[q].a<=r

D.q<n&&A[q].b<=r

【答案】:A

【解析】

下下一个线段存在且左端点在已覆盖区间右边界左侧,则下个线段就被跳过。所以出while循环时,会保留最后一个线段左端点在已覆盖区间右边界左侧

第43题

5处应填( )

A.r=max(r,A[q+1].b)

B.r=max(r,A[q].b)

C.r=max(r,A[q+1].a)

D.q++

【答案】:B

【解析】

确定新的已覆盖区间右边界

标签:__,le,真题,int,初赛,答案,处应,解析,CSP
From: https://blog.csdn.net/guolianggsta/article/details/143672413

相关文章

  • CSP2024总结(学术版)
    J组T4一道/赛上觉得很难/下来也听说很难/但听老师一讲也觉得只有中位绿/的题。题目传送门,首先想到\(r=1\)时的做法,不难看出可以使用一个标记数组来存储,然后依次寻找离他最近的\(1\)看是否满足要求,标记即可。\(5\)pts拿到手。然后发现可以扩展出一种类似递推的思想,设\(f_......
  • CSP-J2024 复赛T1(洛谷P11227)题解
    前传作者初赛没过。坐标sd,79分过不了已经适应了。话说这次泄题事件闹得沸沸扬扬,都说各省分数线要降,最后sd降了8分,80。挺逆天的,感觉sd再这样下去一点OIer都要没了。思路桶排思想,用二维数组模拟一整副牌,本来做的时候是怕有重复牌才这样做,事实上不会。ACCode#include<bits/......
  • CSP-S 2024 游记
    前情提要:初赛\(54.5\),比去年还低\(2.5\),但是过了。考点在七中高新,在红杏酒家吃的午饭,在旁边酒店小睡了一会儿。进考场,机子还是一如既往地牛,但感觉键盘有点难用,是放在抽屉里的,但我强行拉到了桌子上。起初一直打不开代码回收系统,过后不知道怎么回事就打开了。看T1,一眼没读懂,......
  • 2024年华为OD机试真题-光伏场地建设规划 -C++-OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述祖国西北部有一片大片......
  • csp2024游记
    趁着还有记忆,就来写篇游记吧!\(upd:\)之前游记没发想等分出来,现在终于来喽!--\(2024.11.4\)初赛篇普及组今年的普及好好好好简单啊!基本上都是一眼题,一个小时就写完了。然后出考场一交流,发现我第一题记错\(int\)的范围了,喜提98。提高组今年的提高好好好好困难啊!基本上是......
  • 2024 CSP-S 游记
    时光荏苒,光阴似箭,新一轮CSP又过去了。(吐槽SD不允许JS同报。)10.25晚在家中打去年S组的T2,并不理解为什吗是蓝题,按理说DP式子挺好推的。10.26早上fqr还吓唬我们没带身份证。早晨在集合地询问fqr最小生成树的重载运算符是什么意思,菜。在车上的闲事:观看蓝书。......
  • [题解]P11233 [CSP-S 2024] 染色
    P11233[CSP-S2024]染色设\(f[i][j=0/1]\)表示涂到第\(i\)位,且第\(i\)为颜色为\(j\),则考虑用\(i\)之前能和\(i\)匹配的位置\(p\)进行转移。\(p\)需要满足下面的条件:\(a[p]=a[i]\)。\(p\)的颜色为\(j\)。\([p+1,i-1]\)之间的颜色全不为\(j\)。显然,我们只需要找满足条件的......
  • 2024中高级前端面试真题解析
    我是一名本科毕业的前端程序媛,工作5年了,周末双休待遇还不错。公司最近要搬迁新地址,业务要整合到一起,所以最近比较清闲,天天上班摸鱼,闲着没事,整理了以前面试时用的资料文档有945道:JavaScript(323题)CSS(61题)HTML(57题)React(83题)Vue(80题)算法(19题)计算机网络(71题)Node.js(2......
  • 服务器漏洞修复:TLS 1.0 已启用、HSTS、CSP
    1、TLS1.0已启用描述:此Web服务器支持通过TLS1.0加密。TLS1.0不被认为是“强密码术”。根据PCI数据安全标准3.2(.1)的定义和要求,在保护从网站往返的敏感信息时,TLS1.0并不被认为是"强加密"。根据PCI,"2018年6月30日是禁用SSL/早前TLS并实施更安全的加密协......
  • 2个月搞定计算机二级C语言——真题(11)解析
    1.前言今天双11,正好轮到讲第11篇,直接来个三11。那么本篇我们讲解2个月搞定计算机二级C语言——真题112.程序填空题2.1题目要求2.2提供的代码#include<stdio.h>#include<ctype.h>#pragmawarning(disable:4996)voidfun(int*cd,int*cu,int*cs){......