CSP-X复赛模拟4————孙晨佑补题报告

学号:s09691   姓名:孙晨佑

一、题目分数(孙晨佑就是逊啦~)
T1【小可的除法练习(exdiv)】:60

T2【小可买糖豆(jelly)】:0

T3【序列分块(piecemeal)】:0

T4【射箭比赛(archery)】:0

总分:(60/400) 

二、题目分析与思路(无AC(找不到了))
T1:

大意:

小可学习了除法!然后达达为了难住小可,出了这么一个问题:

有n个整数a[1],a[2],\cdots,a[n],需要找到一个绝对值最小的非0整数x,满足\frac{a_i}{x}> 0​的a_i的数量大于等于\lfloor\frac{n}{2}\rfloor

如果存在绝对值相等的两个数都满足条件且绝对值最小, 输出正数。

如果不存在这样的数,输出0。

小可被难住啦!快来帮帮小可。

思路:

这题…说简单简单,说难也挺难(指思路),看到除法就开始做了。做了一会发现它并不是简单的除法,而是要求:

如果存在绝对值相等的两个数都满足\frac{a[i]}{x}的的数量大于等于\frac{n}{2}​​​向下取整且绝对值最小, 输出正数(1)。

如果不存在这样的数,输出0。

当时就想的是纯粹的模拟,找到符合条件的x,但抵挡不住答案错误这一难关啊!

TEACHER:

后来听老师讲完后发现跟x根本无关,只要判断a数组中数的正负就行了,在定义一个k为\frac{n}{2}之后判断两个cnt那个大就输出什么数,否则输出0。

T2:

大意:

题目描述

小可想要买好多好多糖豆!并且要用小可喜欢的小罐罐装!

只有装满了一个罐罐,小可才会用下一个罐罐。

小可进行了n次购买操作,每次购买操作结束之后,请你告诉小可,这次购买操作装满了多少个罐罐!

思路:

刚读完题发现这好像就是整理文本和爬楼梯的退化版就没多想就开始做了。(最有底气得题爆0忇555)

觉得可以用数组,输入完后遍历,考虑三种情况(>、<和==),跟据情况作出不同的判断,到最后发现第三种情况写错了。(1+1+1+1+1+1=1*6)

TEACHER:

根本不需要数组,只需要把每个数依次输入后用sum累加起来,输出sum/m(能装满多少个罐罐)将sum%m(当前罐罐中的糖果个数)即可。

T3:(开始有难度了)

大意:

题目描述

小可手中有一个序列a,小可可以在序列a中选定一个区间[l,r][l,r],然后将这个区间分成单独的一块,其他不在块内的数字全部忽略不计。显然小可有许多分块方案。分块之后,小可还需要对这个分块计算出一个评分:

评分的计算规则如下:对于分块的这个区间[l,r][l,r],小可把这个区间划分成c个连续的小段,每段为 [l_1,r_1],[l_2,r_2],\cdots,[l_c,r_c],并且这个区间中的每个数都属于其中一个小段,不存在一个数被多个小段包含的情况。这时候的评分为:

c+\sum_{i=1}^cMEX(a[l_i],a[l_i+1],\cdots,a[r_i])

其中 MEX(S) 为最小的没有出现在集合 S 中的非负整数。换句话说,如上评分的值为划分的段数加上每一段的 MEX 值。

小可想知道,所有的分块方案的最大评分的和是多少。

思路:

读完后发现有个新符号——\sum,一开始并不懂这个符号是啥意思,就放弃做这道题了(骗了20分),后来才知道是求和的意思。

eg:

\sum_{1}^{50}=1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50

而这题给的数据范围十分的小,所以直接在while循环里三层for循环打暴力,求解每个区间内的每一个数,先将ans++,在判断a[k]是否为0,是则ans再++。

T4:(看似简单实则很像线性DP but线性DP我做不出来)

大意:

题目描述

小可参加了一个射箭比赛。这个比赛有n个靶子,第i个靶子的位置为x_i​​。小可最开始的位置为0。

小可可以做如下操作,可以认为靶子被射中之后会消失:

  • 选择一个已经射中的靶子,小可的位置可以移动到这个靶子的位置上。假设小可和这个靶子的距离为c,那么这次移动需要消耗的体力为a\timesc。

  • 选择一个没有被射中的靶子,同时小可和这个靶子之间不能有其他未被射中的靶子。小可一定会射中。假设小可和这个靶子的距离为c,这个操作消耗的体力为b\times c。

为了节省体力,小可想知道射完所有的靶子,所消耗的体力总和最小是多少。

思路:

由于n范围较大,所以O(tn^2)显然不行,只能O(tn)的渐进时间复杂度解决,那就是——输入完数组后,遍历1~n,将“小可的位置可以移动到这个靶子的位置上”所耗的体力,和“选择一个没有被射中的靶子,同时小可和这个靶子之间不能有其他未被射中的靶子。小可一定会射中”所耗的体力进行比较,由于题目中说要输出最小的那个,所以哪个小就用哪个。

三、赛后总结

这次考得不是很理想(题读不懂555~~~),以后要更仔细了!!!

好了,下篇博文见!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CSP-J复赛历年试题pdf是指CSP-J的复赛历年试题的PDF文件。CSP-J是中国计算机学会(CCF)主办的一项高中生计算机科学与编程的竞赛。复赛CSP-J竞赛的第二个阶段,参赛者需要通过初赛选拔才能进入复赛CSP-J复赛历年试题pdf中包含了以往CSP-J复赛的试题和答案。这些试题主要涵盖了计算机科学与编程的各个方面,包括编程语言、算法、数据结构、计算机网络等。参赛者可以通过研究历年试题,了解CSP-J竞赛的题型和出题风格,提高自己的解题能力和编程水平。 CSP-J复赛历年试题pdf对于参赛者来说具有很大的参考价值。通过研究这些试题,参赛者可以了解到高水平的计算机科学与编程问题是如何被设计和解决的。同时,参赛者还可以通过尝试解答这些试题,检验自己的知识和技能,发现自己的不足之处并进行改进。 此外,CSP-J复赛历年试题pdf还对教师和学生进行教学和学习有很大的帮助。教师可以利用这些试题作为教学资源,丰富教学内容和方法,提高学生的计算机科学与编程能力。学生可以通过研究这些试题,扩展知识面,提升解决问题和编程的能力。 总之,CSP-J复赛历年试题pdf是一份重要的学习和竞赛资料,对参赛者、教师和学生都具有很大的参考和帮助作用。通过研究这些试题,大家可以更好地了解计算机科学与编程的相关知识和技能,并提升自己的竞赛和学习能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值