博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[笔记] 易错点集合
阅读量:4948 次
发布时间:2019-06-11

本文共 1863 字,大约阅读时间需要 6 分钟。

1.cena里不能用bits/stdc++.h..... 当然正式考试也不行....

2.不要弄反#ifdef 和 #ifndef .....
3.取模优化原本是这么写的
if(x>=mod) x-=mod;
实际上要这么写:
while(x>=mod) x-=mod;
然后我也不知道有没有起到优化的作用 .....
4.考虑方案选择数相关dp问题时(比如组合数),0有关状态算不算一个方案(比如选0个)
5.乘法可能会爆int的情况下,使用如下代码:
1ll*a*b; (a,b>=1000,000,000)
6.define时若胡乱操作会出问题比如:
#define ml(x) 1<<x
而正确操作如下:
#define ml(x) (1<<(x))
以及等等一些错误操作。

7.高精度计算时注意值为0情况,不能有-0或者长度为0(不输出)的这种智熄操作出现

8.线段树要开4倍原数组大小,树链剖分时不要太吝惜内存,仔细分析数组边界情况和内存使用情况,避免RE/MLE
9.ST表时请注意两重循环的时候

for(j=1 to 20)        for(i=1 to n) -> 这重循环,请加上i+(1<<(j-1))<=n的判断,避免越界

10.打完暴力看看搜索是否有后效性,参数是否简洁;考虑记忆化搜索有大机率变成正解

11.涉及位运算和逻辑表达式计算请打上括号.....
12.时间复杂度的考虑上,「先考虑线性」、再才考虑贪心、倍增、最后再考虑数据结构等一系列骚操作......
13.dp滚动数组优化时,请确定把滚动数组清干净.....
14.作这种比较时:
if(a[i]==a[i+1]) ...
请注意i+1有没有越界....

以上是个人不怎么犯的错误

下面是正片

1.请注意题目求的是最大值还是最小值

2.dp无从下手的时候,试着把题目要枚举的条件变为已知放入状态中

3.dp时一定要初始化!!尤其是不可能出现的状态,一定要注意!!

4.dp时初始化好了真的是可以为所欲为的

5.没有这种操作:a+b>a'+b' => a+sqrt(b)>a'+sqrt(b')

6.当要对某个巨大数组清空时,尝试将“全部清空”改为“清空自己需要清空的元素”,可能会使效率提升。

7.若a和b都已对k取模,此时(a-b)%k的值可能低于0。若要大于0则改为(a-b+k)%k,但同时应该注意运算溢出的情况。

8.常数玄学:在函数内进行操作,并且函数的调用过程中参数含缩窄转换,可能会造成巨大常数。如定义变量long long a;,使用函数void fun(int x){ ... },进行如下的调用:fun(a);——实测1e5数据范围下产生的效率差距超过4倍

9.floyd请一定要弄清楚是f[i][i]=0,还是f[i][i]=INF建议忽略松弛中有点相同的情况.....

10.对于非常规最短路问题,建议先考虑使用什么算法,再考虑要不要建图。不少题目直接对算法进行活用,而不需要多余的建图过程。例题:LuoguP1875,LuoguP1119

11.st表初始化的边界问题....

for(int j=1;j<20;j++)    for(int i=1;i+(1<
<=n;i++) { ... }

12.维护两个滑动窗口单调队列时,请注意数组绝对不要弄混。比如更新B队列时更新了A队列的pos.....

13.清空邻接表时,重置head、next数组和目前指针p

memset(head,0,sizeof(head)), memset(next,0,sizeof(next)), p=1

14.打ISAP时,找相邻点的层次最小值,请一定判断该点的层次最小值是不是变成了-1......

15.关闭ios同步之后请 一定 不要用scanf,否则会出现段错误/诡异输出等玄学错误....

16.犯了如下的窒息操作:

int n;const int s=1,t=n;

正确操作:

int n,s,t; ...int main() {    cin>>n;    s=1,t=n;    ...}

17.Treap/SBT:cnt++后记得updata(x)啊.... 插入后记得rotate啊.....

18.坐标类变量,不要用i/j来表示,那是作死....

转载于:https://www.cnblogs.com/acxblog/p/7766367.html

你可能感兴趣的文章
常见错误: 创建 WCF RIA Services 类库后, 访问数据库出错
查看>>
C3P0 WARN: Establishing SSL connection without server's identity verification is not recommended
查看>>
CSUOJ 1541 There is No Alternative
查看>>
iPhone在日本最牛,在中国输得最慘
查看>>
2014百度之星资格赛的第二个问题
查看>>
动态方法决议 和 消息转发
查看>>
关于UI资源获取资源的好的网站
查看>>
Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH异常的解决方案
查看>>
WPF自定义搜索框代码分享
查看>>
js 基础拓展
查看>>
Windows下常用测试命令
查看>>
SpringBoot访问html访问不了的问题
查看>>
{width=200px;height=300px;overflow:hidden}
查看>>
SDK提交到CocoaPods
查看>>
C#生成随机数
查看>>
Flask-jinja2
查看>>
【BZOJ3224】Tyvj 1728 普通平衡树 Splay
查看>>
java8 四大核心函数式接口Function、Consumer、Supplier、Predicate
查看>>
iOS 图片加载速度极限优化—FastImageCache解析
查看>>
类的声明和使用
查看>>