[ELSE]自闭选手的自我修养
嗯——开始打基础了呀
就是一些常犯的小错误,慢慢补
- DFS的时候忘记往下一层,就是
for(int r=lst[x];r;r=nxt[r])
的时候忘记写SEARCH(edge[r])
- 变量改成longlong之后调用函数的时候括号里还是int
- 无向图边数组开小
- 好吧不止是无向图会开小数组的说(额好像是第三次写了,,,再开小吃键盘吧
- 好了窝又来了,,,是说数组不要开小,但也不要开到MLE呀大兄弟
- 全局变量开在函数里面
- 数组开小again——调了一个小时随手一改数组发现过了,,,O_O
- 离散化的时候lowerbound右边界写成没有去重的边界
- 1e5的范围数组开1e5QuuuuQ
- memset瞎用
- 记得看数据范围,不要忘记负数
- 手抖交错题
- n和m搞错
- %d没有改成%lld
网络流
- 开数组算边数的时候少算反向边
- BFS/DFS的时候lef[r]写成lef[edge[r]]
- 存反向边的时候edge数组下标没有从1开始
KM
- CHK函数里now!=0的时候忘记更新ned
Treap
- 忘记srand(time(NULL))
- rtt的treap插入删除的时候忘记update每个点的size或者update错位置
斜率优化/凸包
- 注意三点共线/点重合
动态DP
- 树剖的时候要注意矩乘的顺序可能会影响答案(就是线段树维护的左边的节点深度比右边浅
博弈
二进制有关
- 数据范围改小忘记该回去了QuuuuQ
- 不要轻易丢掉觉得有一点点错的想法,除非能清楚地知道为什么错了
- 想清楚了再开始码,先想尽办法把自己X掉
看清题意啊- 注意题意的转换,先把乱七八糟的背景都去掉,这样比较容易看出方法
- 一定一定要留足时间检查!!!!!!!!
关于代码
-
\(int * int\)可能会爆int,注意改longlong
19.10.30:100F50
19.10.31:20F15
-
int类型函数注意返回值
-
输出方案题可能需要先判断是否有解并输出
Yes
或No
,不要忘记 -
INF要开够大
-
强制在线特判答案的时候也要更新lastans!!!!
19.11.07:100F15
-
主席树空间不知道开多大的时候可以搞一个极限数据
-
数组名不要起得太抽象,至少不要搞混每一个表示什么
- 11.1 反思
连续崩了两天,确实该反思一下自己的做题策略了
10.31
下面是11月1号的回忆
看见T1第一反应是带反悔的贪心,于是一直往这个方向想,很久也没有想出来。时间已经过了挺久了,很多人都开始码了,心态有点没调整好。想继续刚T1,但是怕时间来不及,只能继续看题。
打开T2题面当场去世,挣扎了半天终于看懂题面,不就是个划分空间吗讲得那么啰嗦!!,没准备想正解,想了一下\(K=1/2\)的20pts做法直接走人
这个T3看起来一副很可做的样子(?!),但是没有仔细膜样例直接觉得题目给出的就是要求的数组的相对大小。只想了40pts的部分分就走人了,但是其实20分部分分的思路和正解一模一样,再多想一点点也许就做出来了啊。
看完三道题已经花了很长时间了,再加上在T1浪费了太久,留下来打代码的时间不是很充足,更不用说什么草稿纸一团浆糊脑子也一团浆糊,所以最后\(T1\)也只能打个20pts暴力草草结束,连检查都没有检查(为之后的GG埋好了伏笔啊)。
结果最后FST完了。T1爆搜不知道为什么挂了,T2\(int*int\)爆了,T3输出方案前忘记输Yes
,再加上题目看错….
-
还是一样的毛病,一碰到觉得会做的题就死翘翘,一碰到后面一点的题就觉得自己一定想不出来。
-
然后就是时间的分配,今天还是一样的问题,看题花的时间太久了,而且每一题都只是浅尝辄止,这样不仅没能想出正解,还续掉很多时间。
所以最好就是快速地把每一题都看一遍,看看能拿多少部分分。不会的先直接跳过,把所有题都看完了再回来仔细想。
-
还有就是细节问题,不管怎么样都要留出半个小时的时间检查,避免FST吧。
好了最重要的就是不要用脚思考要用脑子啊