日期:2023 年 10 月 1 日星期日
学号:S07246
姓名:江守栋
1. 比赛概况:
比赛总分共4 题,满分400,赛时拿到220分,其中第一题100分,第二题
100 分,第三题10分,第四题10分。
2. 比赛过程:
这场比赛我把重点放在了前两道题上,拿到题目之后先看了第一题,一开始以为 需要模拟或枚举,做着做着忽然恍然大悟,想到了唯一分解定理,写完了第 一题,并在赛时AC。
第二题,我研究了样例,找到了思路和方法,很快就写完了代码,但调试了很 久,我以为是算法部分出了问题,却发现只是freopen读入部分写错了,好在最 后也AC了。
后两题我看了很久,但没有思路,直接输出了样例,总共得了20分。
3. 题解报告:
(1) 第一题:数字降级
情况:赛中100分
题意:数字每一次降级都表示将一个数字除以一次它的任意一个因子。
请问最少几次操作可以将一个数字 ,降级成一个质数?
赛时本题做题想法: 原本想采用模拟,后来想起了唯一分解定理,分为两种情况:1:N为质数,不需要操作,输出0 2:N不为质数,输出1 轻松AC了这道题
题解:这道题用到了唯一分解定理,即任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积,所以可以写一个判断质数的函数,如果N是质数,则不需要降级,直接输出0。如果不为质数,根据唯一分解定理,N一定等于一个质数乘另外一个自然数,则 N=P*X (P为质数),所以输出1。
AC 代码:
#include<bits/stdc++.h>
using namespace std;
long long n;
bool prime(long long n){
if(n==1) return 0;
&n

本文记录了一场比赛中的四个编程题目,涉及数字降级(质数判断)、分组求最大专属分数、抢夺地盘的DP优化和闯关神器的最少使用。参赛者运用了唯一分解定理、模拟和贪心策略解决问题。
最低0.47元/天 解锁文章
1079

被折叠的 条评论
为什么被折叠?



