洛谷是个好东西
可不仅仅因为其丰富的题库资源,还因为洛谷的各个公开赛。
公开赛肯定不能全是洛谷官方出的,不然3k,chen_zhe,扶苏肯定要累死。
那么广大的用户是如何出编程题目的呢?我采访了3位洛谷月赛出题人,并结合自己出题的经历向大家分享一下C++出题的过程,带大家避雷,求关注,点赞和收藏啦。
First 确定主题
就和标题说的一样,但是因为是编程题,所以确定的也不是主题了,而是算法。要选择什么算法就取决于你个人想出什么难度的题目了,如果你是个蒟蒻(和我一样)那么你可以选择Noi大纲中1-4级的算法,都非常的Easy,出题也不难。如果你实力较强,那么你可以选择Noi4-7级甚至8-10级的算法,当然不一定只选择一样算法,一般难题都是多个算法和思想结合起来而成的。
难度大家可以和洛谷的题目难度对标一下。
Second 准备
确定了主题之后,一般来说我们有两个选择,直接出题和先写标程。一般我会选择先写标程,因为我太菜了,如果直接出题,可能做不出来自己出的题,但如果你和FXT一样有实力那么两种都是无所谓的。如果先写标程那么之后的各项都会非常的方便。
Third 准备题面
有了标程之后,你就可以随意拿捏题目了。你可以自己想一个"剧本",然后强制把你的标程表述的信息和"剧本"结合起来,然后再添加一些废话,来掩盖题目的正确思路和重要信息,当然如果题目很难你可以直接用Katex简化体面,简介清晰明了的表述题目的所有信息,这样会让做题者先高兴再崩溃。
Forth 制造数据
有了标程制造数据一般很简单,可以参照C++对拍方式生成多组数据,然后使用freopen 以.in的格式导出,然后在标程中加入 freopen .来引入.in 文件并导出.out 文件这样就可以得到很多组数据了
Fifth 制作题解
既然题目都出了,题解肯定也是要写的嘛。
注意了,如果你是在洛谷写的话,记得配合Katex 不然可能被管理直接评价为"勾石"(开玩笑的)
题解里一般需要包括解题思路即Solution,如果题目部分分很多还需要写一下各个部分分需要用什么算法来实现,最后再付上标程即可(部分也行).