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

历年CSP-J初赛真题解析 | 2017年CSP-J初赛完善程序(27-36)

时间:2024-10-22 12:49:21浏览次数:3  
标签:__ count 27 正整数 初赛 答案 长度 解析 CSP

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

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


(快速幂)请完善下面的程序,该程序使用分治法求 x p   m o d   m x^p\ mod\ m xp mod m的值。

输入:三个不超过10000的正整数x,p,m。

输出: x p   m o d   m x^p\ mod\ m xp mod m的值。

提示:若p为偶数, x p = ( x 2 ) p / 2 x^p=(x^2)^{p/2} xp=(x2)p/2;若p为奇数, x p = x ∗ ( x 2 ) ( p − 1 ) / 2 x^p=x*(x^2)^{(p-1)/2} xp=x∗(x2)(p−1)/2。

#include <iostream>
using namespace std;

int x, p, m, i, result;

int main() {
	cin >> x >> p >> m;
	result = __1__;
	while (__2__) {
		if (p%2==1) 
			result = __3__;
		p /= 2;
		x = __4__;
	}
	cout << __5__ << endl;
	return 0;
}

第27题

1处应该填( )

【答案】:1

【解析】

乘法的累乘器初始值为1

第28题

2处应该填( )

【答案】:p>0

【解析】

按照快速幂的公式,最后一个数算到1次方

第29题

3处应该填( )

【答案】:result*x%m

【解析】

如果是奇数,需要保留底数

第30题

4处应该填( )

【答案】:x*x%m

【解析】

最后一定会有个数的1次方出现,所以这里只是x*x%m

第31题

5处应该填( )

【答案】:result

【解析】

仅需输出答案

(切割绳子)有n条绳子,每条绳子的长度已知且均为正整数。绳子可以以任意正整数长度切割,但不可以连接。现在要从这些绳子中切割出m条长度相同的绳段,求绳段的最大长度是多少。

输入:第一行是一个不超过100的正整数n,第二行是n个不超过 1 0 6 10^6 106的正整数,表示每条绳子的长度,第三行是一个不超过 1 0 8 10^8 108的正整数m。

输出:绳段的最大长度,若无法切割,输出Failed。

#include <iostream>
using namespace std;

int n, m, i, lbound, ubound, mid, count;
int len[100];  // 绳子长度
int main()
{
	cin >> n;
	count = 0;
	for (i=0; i<n; i++)
	{
		cin >> len[i];
		__1__;
	}
	cin >> m;
	if (__2__)
	{
		cout << "Failed" << endl;
		return 0;
	}
	lbound = 1;
	ubound = 1000000;
	while (__3__)
	{
		mid = __4__;
		count = 0;
		for (i=0; i<n; i++)
			__5__;
		if (count < m)
			ubound = mid - 1;
		else
			lbound = mid;
	}
	cout << lbound << endl;
	return 0;
}

第32题

1处应该填( )

【答案】:count += len[i]

【解析】

计算所有线段的总长

第33题

2处应该填( )

【答案】:count<m

【解析】

如果所有线段加起来的总长度小于m,那么即使按照最小的长度1来切割,也无法切出m段

第34题

3处应该填( )

【答案】:lbound<ubound

【解析】

l和r重合时才退出循环

第35题

4处应该填( )

【答案】:(lbound+ubound+1)/2

【解析】

如果l=3,r=4,且3就是正解,那么应该希望mid = 4,否则就会陷入死循环

第36题

5处应该填( )

【答案】:count += len[i]/mid

【解析】

计算在mid长度下可以切出的总段数

标签:__,count,27,正整数,初赛,答案,长度,解析,CSP
From: https://blog.csdn.net/guolianggsta/article/details/143107666

相关文章

  • [CSP-J 2022] 乘方
    题面题目描述小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数aaa和b......
  • [CSP-J 2021] 分糖果
    题面题目背景红太阳幼儿园的小朋友们开始分糖果啦!题目描述红太阳幼儿园有nnn个小朋友,你是其中之一。保证n......
  • Day11 备战CCF-CSP练习
    Day11题目描述题目很长,就不赘述了(主要是懒得写)题目解析Gauss消元题目的提示很明显,将元素守恒作为建立等式的基础。只要满足每一行元素守恒,即\(x_1+x_2+···+x_n=0\)即可元素个数为\(m\),物质个数为\(n\),增广矩阵的大下为\(m*(n+1)\),Gauss消元时间复杂度为\(O......
  • LeetCode题练习与总结:区间和的个数--327
    一、题目描述给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中,值位于范围 [lower,upper] (包含 lower 和 upper)之内的 区间和的个数 。区间和 S(i,j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。示例1:输入......
  • CSP2024 前集训:csp-s模拟12
    前言咕了好久才写,当时又发烧了所以没有交。虽然有两道签,但一道时计算几何一道放了T4都没打,T1赛时猜到结论和先看T4的都赢麻了,T1赛时\(π\)只会背倒第九位精度炸了暴力都不对。剩下的题当天太难受了都没改,改的两道都是specialjudge哎?T1小h的几何九点圆圆心的证......
  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛10
    前言不想说啥了最简单的一题是紫,去死吧只改了T1、T2,T2原题翻译和赛时题面描述都很唐,赛后断断续续加了好多hack。T1岛屿设\(f_{a,b}\)表示\(a\)条两端同色链,\(b\)条两端异色链时连通块数量的期望。红红蓝蓝相连得到红蓝\(\tof_{a-1,b+1}\)。红红红蓝相连得到红红......
  • 10.21 ~ 10.27
    10.21Day-4快CSP啦……话说真的应该这么早就开始记“Dayx”吗为啥这几天这么冷啊要冻死了......
  • csp2024 复习计划
    啊啊啊啊啊啊啊啊啊啊啊啊啊啊先复习板子,再复习Trick和题目。1.数据结构平衡树笛卡尔树线段树、树状数组的各种Trick哈希的方法、题目2.杂算法CDQ分治、整体二分、点分治、点分树KMP可以做道大搜索练练手3.图论最小生成树、最短路建模相关......
  • 信息学奥赛复赛复习18-CSP-J2023-01小苹果-向上取整、向下取整、模拟算法
    PDF文档公众号回复关键字:202410211P9748[CSP-J2023]小苹果[题目描述]小Y的桌子上放着n个苹果从左到右排成一列,编号为从1到n。小苞是小Y的好朋友,每天她都会从中拿走一些苹果。每天在拿的时候,小苞都是从左侧第1个苹果开始、每隔2个苹果拿走1个苹果。随......
  • CSP 模拟 52
    B最短路先建出最短路DAG,保证最短路径唯一,所以建出来的DAG是一棵树。考虑一个点的答案可以由谁来更新,假设当前点为点\(u\),它的dfs序控制范围是\(l,r\)。首先,它可以由子树外除了父亲的节点来更新,形如ans[u]=dis[v]+w,它也可以由子树内的节点更新,路径形如1->zc->v->u,要求中......