1.状压或搜索中,如果当前数组只更新了 \([1,m]\) 的部分,而扫描它时用到了 \([1,n]\) 的部分,那么不要忘记将 \([m+1,n]\) 部分清空。
2.在函数中,一定要检查好某个变量是局部变量还是全局变量。防止某个全局变量被误认为是局部变量,而导致它的数值错误。
3.如果感觉空间不够,一定不要冒险将数组开得太大,因为一旦超空间可就一分没有。有一题,理论上暴力是20分,但空间只给了128MB,而20分的数据是1e8级别的。如果空间有所舍弃,开成1e7,能拿10分;而如果空间开1e8硬刚,能拿0分。
4.\(p[++tot].x=p[tot-1].x=k;\)是未定义行为,不能这么写。
5.开二维数组不要把大小开反。
6.仔细算清楚了到底需不需要开\(long\) \(long\)。例如统计逆序对时,\(10^5\)的序列的逆序对最多有约\(10^{10}\)个,需要开\(long\) \(long\)
7.取模不要把模数写错,尽量算一步模一次,不要爆int/long long
8.看清楚要输出什么。例如,看清 \(YES\) 和 \(YE5\) ,\(NO\) 和 \(N0\)。
9.读题分清楚子序列,子串,不要因为这个浪费时间。子序列不一定连续,而子串是连续的。
10.在写形如 \((a+b)\%p\) 的式子时,一定要注意 \(a\) 和 \(b\) 是不是负数,如果有负数一定要写成 \((a+b+p)\%p\) !
11.如果某个题写出了正解,一定不要懒,要自己造大数据验证一下!有的时候小数据说明不了任何问题!
标签:10,不要,错误,long,一定,数组,空间,一些 From: https://www.cnblogs.com/andyl/p/17574997.html