版权声明:欢迎评论交流,转载请注明原作者。 https://blog.csdn.net/m0_37809890/article/details/83065313
代码查错
- 认真读题,比如题目的数据范围。
- 观察每个变量名是否有误,每个类型是否有误,每个运算符是否有误(<,>,=,+=),规定的输出格式是否有误。
- 考虑边界情况,0,1,-1,上限,下限。
- 与序列有关的题目要分清楚变量表示的是值还是下标。
- 考虑算法是否有误。
- 更改写法,选择更不易错的方法去写题。
- 推导排列的问题,注意如果已经推导出了n-1项,那么最后一项也就出来了。
- 常量数组是否有误
- 运算是否爆范围.
思路引导
- 认真读题
- 当输入数据范围很大但有除法关系时,可以考虑分类。
如输入n,m<=1e9,可以枚举1<=n<=1e5,剩余的枚举 m/n. - 输入数据与输入顺序无关时,直接排序,不管为什么。
- 遇事不决写暴力,尤其是数学题。
- 把问题要求的算式列出来,然后用数学的方式去推导,会比空想有效很多。
- 和区间求和有关的东西,上前缀和,推导算式,差分同理。
- 二分性质。
- 反向求解。
编码建议
- 模拟题在上手之前提前想好数据结构与算法流程。
- 当调用元素本身太麻烦(耗时久,不好表示,多维数字)时,建立索引。
- 先写出能用的程序,思路会在写的过程中不断清晰,记住提前优化是万恶之源。