OI 比赛经验

  • 每道题,如果想不出进一步的算法,30min之内要写出暴力,确保拿分
  • 不要因为想不出来就轻易跳题,要相信题目大致是从易到难排序的,每道题至少预留二三十分钟思考
  • 临场决策很重要。看看在剩余的时间内,对于每一道题,大概还能拿多少分。写完一道题的部分分,如果感觉可以再进一步,但后面还有几题没做,应该先看后面的题
  • 能走一步就多走一步。譬如你已经拿了50pts,不妨后面的测试点全部输出No吧(不可以,总司令)。
  • 一定要一次性把题目审对
  • 如果可以,最好先手算样例,防止写到一半突然发现算法是错的。
  • 写完代码后,测一下极端情况
  • 不能手动但脑子不动,否则会出现这些错误:
for (int i = n - 1; i >= 0; ++i)
for (int i = 1; i <= n; ++i) {
	for (int j = 1; j <= n; ++i) {
	//...
	}
}
if (b[i] < lmin[i - 1][0]) lmin[i][0] = b[i], lmin[i][1] = i;
else lmin[i][0] = lmin[i - 1][0], lmin[i][1] = lmin[i - 1][1];
if (b[i] > lmax[i - 1][0]) lmax[i][0] = b[i], lmin[i][1] = i;//重复的代码抄上面的,结果抄得一模一样
else lmax[i][0] = lmax[i - 1][0], lmax[i][1] = lmax[i - 1][1];
  • 有时,先拿了一些部分分。想要修改代码,拿更多部分分时,记得把数组开得更大

  • 开long long. @@
  • 有时题目要求答案取模,写到最后忘了
  • 使用scanf,注意long long与int. @
  • 使用scanf,加&号;数组不加。@
  • 数组越界
  • 括号不要括错了。比如if (cal(x, y > v))应为if (cal(x, y) > v).
  • 栈、队列等STL数据结构,做pop等操作前,要看里面是不是空的
  • size不能直接-1
  • 不能把变量名命名为tm.
  • 删除调试用输出

  • 快速幂特判 0 0 0^0 00.

2023.4.11.
5.30.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值