导航菜单
首页 >  考试时注意事项小学生怎么办  > 【CSP考前复习】关于考试时的注意事项

【CSP考前复习】关于考试时的注意事项

一、关于暴力 1、为什么要打暴力——得分 这不废话吗考试的时候不打暴力等着爆零吗嘤嘤嘤 首先,我们要明确打暴力是一件非常正确且有用的事: 第一,如果最后想不出正解,暴力的分数拿到手一般也能获得不低的成绩; 第二,出题人有时会把正解的思路放在暴力分里,比如某些DP和数据结构,往往是先引导你打出暴力,然后进一步优化得到正解; 第三,就算真的打出了正解,暴力也是用来对拍的一个好方法,可以让你的正确性得到保证。

当然,有时候出题人想要故意提升题目难度,就会把部分分给的少,甚至可能用部分分来误导思想,不过这种情况一般占少数,在CSP的正规比赛中部分分都是用来提示正解的,只是分明显与否。

2、暴力该怎么打——审题 暴力分往往是在运行时间/空间不够优秀,或者在线/离线这方面有限制时得分的好手段。一般来说,通过观察数据范围可以得到相对应的算法复杂度,这一定程度上有助于考虑暴力和正解。

举个例子,我认为部分分给的最好的——天天爱跑步。我之所以认为这道题的部分分最好,一是因为它具备上面提到的提示效果,你只要打完所有的暴力,再加上思考和码力,就能得到正解;二来,即使你想不出正解,部分分之间的层次性也很强,完全可以根据自己的能力得到对应的分数。

这是部分分的分布:

假设我们之前不认识这道题,重新来分析一遍:

1、测试点1~5明显送分,只要读懂题就能想到暴力模拟

2、测试点6~8因为数据范围扩大了,之前的算法不能再用,我们换个思路,考虑每个观察员对什么样的经过路线有贡献,于是思路往差分上走,再通过一些思考可以推出产生贡献的式子

3、测试点9~16举出两种特殊情况,结合6.7.8的差分,再加上一定的模拟,可以得到树上差分的程序。

4、考虑到将链拆为上行和下行两段,发现可以用部分分的解法来分步解决,再加上码力和实现,就可以得到满分程序。

综合上文以及我的经验来看,分析暴力得分以及从暴力到正解一般有以下思路:

1、看数据范围: 常见的有这些: n

相关推荐: