考场策略

本文分享了考场上的策略,包括时间分配、解题步骤和骗分技巧。建议先花5-10分钟通读试卷,稳定心态,避免被他人影响。解题时先构思再实现,遇到难题可尝试暴力解法或部分得分策略,如搜索和暴力+分段。最后10分钟用于检查,确保避免低级错误和极端情况。
摘要由CSDN通过智能技术生成

​​​​

考场策略

  • 时间分配
  • 解题步骤

考试的目的: 得分
- 稳定心态,减少失误
- 考场目标:将自己能力范围内的分全部拿到
- 会做的都做对
- 不会做的都蒙对

时间分配

  • 写代码前
    • 拿到试卷后,至少花 5-10 分钟把试卷通读一遍,对题目的难度有整体把握(不要被旁边其他人的键盘声影响,磨刀不误砍柴工)
    • 三思而后行,80%思考+20%实现
  • 写代码中
    • 对于没有把握的题,先把暴力的代码写出来
    • 对于有把握的题,做到仔细读题,思考全面
  • 写代码后
    • 最后 10 分钟果断停止写代码(除非想放手一搏),做全面检查
    • 文件名、字符大小写、数组空间大小限制

解题步骤

  1. 读题
  2. 构思代码
  3. 实现代码
  4. 检查

为什么要读题和构思?

为什么要花足够多的时间去读题和构思?

努力
VS
选择

花半个小时写代码,发现思路错了,慌乱之中,又花了半个小时重新写新的代码
VS
花了二十分钟读题,确定思路后,花了二十分钟写好代码

A-读题

  1. 仔细读题 2~3 次,(草稿纸\PDF上)画出题目中的重点。注意几点: a. 数据范围及分布 b. 极端/边界情况
  2. 用样例验证自己对题目的理解是否正确

B-构思代码

  1. 在草稿纸上推算自己的思路
  2. 有了思路后,用样例验证思路是否正确
  3. 不要尝试用从未接触过或极不熟练的算法

C-实现代码

  1. 对于没把握拿满分的题目,先写出暴力代码(增加安全感)
  2. 对于有把握的题,一遍实现,一遍思考极端、边界情况下,思路是否仍旧正确

D-检查

  1. 静态查错:逐行阅读自己代码,找出低级错误(变量名、清空数组、赋值、符号、复制代码未修改)
  2. 极端小数据:(n=0,1)代码是否漏判
  3. 极端大数据:代码是否存在 a. 数组越界 b. 运算溢出

E-心态爆炸?

  1. 碰到不会的题?
  2. 旁边的人敲键盘霹雳啪啦飞快?
  3. 考试过程中发现思路不对,代码需要推倒重写,浪费了很多时间?

深呼吸,淡定

考试就是个贪心背包的过程

  • 背包容量 V = 你的能力内的最大得分
  • 每道题目的完成时间 = W, 分数 = V
  • 贪心目标:将每道题的分尽可能多拿到,分数最大化

骗分

定义:对于难题和不保证能做对的题,在减少失误的情况下,增加得分

面对出题人的一场稳赚不赔的赌博

常用策略

  1. 打表:数列类型的题目
  2. 找规律:小样例上找规律
  3. 贪心:也许能拿到动规题的部分分
  4. 搜索:骗分神器
  5. 暴力+分段

搜索

动规题和图论题不会做?
拿部分分:搜索+剪枝、搜索+记忆化

void dfs() {
  if(f[当前状态]) return f[当前状态]; // 记忆化
  if(当前解>全局最优解) return; // 最优性剪枝
  ......
  for(...) {
    if(......) {  // 其他剪枝
      标记
      dfs(......);
      回溯
    }
  }
}

Copy

暴力+分段

暴力拿不到满分,写的正解不敢保证一定对?

那就看看数据范围分布吧

if(暴力不超时 n<...)
{
  暴力解法(枚举、爆搜、...)
}
else
{
  不一定能拿满分的正解
}

Copy

小 C 的树(tree) - TopsCoding

如何分段?

最后

祝各位同学都能完美发挥

加油!!!​​​​​​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值