劫
Pre
合理安排时间
不要冲题
得分为主,暴力为先
others
Think twice, Code once
- 确认自己思路没锅再写,最好不要写完了样例挂了开始调了发现锅了
- 锅了的最好想想能不能救一下,救不了就不要留恋
- 调代码超过半小时无实质进展建议要么重构要么开下一题(如果写了暴力)
- 不要觉得自己不会犯唐诗错误,不要觉得某些地方自己一定不会出锅
比如我锅过线段树建树,标记不清空,建图,图的遍历
- 建议定一个时间比如
30min
,当思考/优化一道题过了这个时间一分没多并且后面还能拿分就先过 - 正难则反
- 抽象题没有思路可以尝试猜结论,打表找规律,乱搞,最终目的是拿分
- 心态要维护好,尽量不骄不躁,虽然做不到的时候确实做不到/kk
题目正解不会很难,反正很难的也必不会做,所以宁愿相信题目都是善良的。
——command_block 《考前小贴士》
|| @幻想繁星 : 别后悔一切都好,奋力一跃,之后接受就好了;我任命运拨转轮盘,孤注一掷,遍历死地而后生……我们终将在 OI 的极光下重逢。|| @int_R : 不知不觉已经学了四年了
gdb
调试不建议开 -O2
g++ -g A.cpp -o A -std=c++14
重点是 -g
。
gdb A
r # 运行程序 # run
b x(行号) # 设置断点(F9) # break
c # 继续运行(F5) # continue
n # 单步执行(F10) # next
s # 单步进入(F11) # step
p var(变量名) # 查看变量的值 # print
info b # 查看断点信息
d id(编号) # 删除断点(F9)(编号可以拿 info b 看) # delete
q # 退出调试器 # quit
l x(行号) # 查看代码 以行号为中心的十行 # list
l x,y(行号) # 查看代码 [x, y] 行
手写 Code runner
Code runner
string s; cin >> s;
string res = "g++ " + s + ".cpp -o " + s + " -O2 -std = c++14 && ./"+s;
system(res.c_str());
gdb runner
string s; cin >> s;
string res = "g++ -g " + s + ".cpp -o " + s + " -std = c++14 && gdb "+s;
system(res.c_str());
乐子
AI 蒸可怕
好像写死了好多东西/jk