第29次csp认证算是告一段落了。笔者第一次参加,能够拿到这个分数,也算是非常幸运了,先晒一下自己的分数(doge):
编辑切换为居中
添加图片注释,不超过 140 字(可选)
然后再简要谈谈自己的一些想法与做法吧。题解在之后题目放开了再写,因为考试写的代码都在学校机房里(悲
-
第一题
编辑切换为居中
添加图片注释,不超过 140 字(可选)
这道题没什么难度,算一下两个矩形的交集就行。不过现场好像有一些大佬没有看见这些矩形区域不重叠,导致浪费了一些时间
-
第二题
编辑切换为居中
添加图片注释,不超过 140 字(可选)
这道题最容易想到的其实也是遍历,对开垦需要的天数从k遍历到max(ti)\max(t_i)max(ti),每一遍计算一下所需要的资源,如果满足了物资需求并且需要天数最少,那么就是正确答案了。
不过,直接的遍历肯定会超时,如果能够看出这个遍历的有序性,那么我们就很容易想到用二分的思想来做。写一个二分查找,这一百分就算拿到了!
由于前两题太顺利,我以为这个系统是提交了编译过了就不管了,最后结束了再统一测评,还专门交了个错的答案试了试,发现确实是全对了(doge
-
第三题
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
第三题乍看之下非常复杂,但是实际上确实非常复杂(乐
最后这道题我拿到了70分,还是有点遗憾的,不过我的解体过程确实十分有趣:
在考场上因为把字符串输入搞错了(cin表示我不背锅),直接浪费了一个小时。后面心态有点崩,就准备只要这20分,后面不管了。。。
如果刚开始只考虑20分,也就是只考虑BASE_EXPR,那这个题还是比较简单的,只需要每次遍历,查找一遍即可。注意我们需要对结果的DN序号进行sort。
写出了这20分之后,我发现其实只要把结果封装成函数,调用两次,再求个交集并集就能够拿到40分,然后,我就封装了一个考虑EASY_EXPR的函数,成功拿到40分。
结果我一看(乐,只需要再封装一次,把它变成一个递归调用的函数,就能求解70分的数据。于是简单改改,就拿到了70分。然后就开心的骗分去了。。。
“骗”了第五题35分之后,打算看看最后的3个样例。我将数组改成了unordered_map数据结构,然后最神奇的一幕出现:我的前4个样例和最后3个样例通过,中间3个样例超时了!离谱,然后我改了半天,很遗憾最后还是70分(乐
考完试跟别人聊天的时候,他们告诉我,只要判断一下输入数据的大小再决定数据结构就可以了…………
-
第四题
第四题当时对于字符串的输入已经有了恐惧,因此没看了。
-
第五题
编辑切换为居中
添加图片注释,不超过 140 字(可选)
第五题是一个dp的题,不过怀着“骗”分的思想。我直接暴力求解。
对L,R分别遍历一层,里面再对m遍历一层,成功通过前7个样例,拿到35分。