算法易错点

$FFT$

1.注意精度,以及是否取整

2.注意$complex$类不要写错,复数乘法是这样的:

complex operator *(const complex &b){return complex(x*b.x-y*b.y,x*b.y+y*b.x);}

splay

1.注意$get$写法

bool get(int pos){return ch[fa[pos]][1]==pos;}

2.注意rotate中son的写法,不要写错

void rotate(int pos){
int f=fa[pos],ff=fa[f],son=get(pos);
// cout<<"rotate "<<pos<<ends<<f<<ends<<ff<<ends<<son<<ends<<ch[pos][son^1]<<ends<<ch[pos][son]<<endl;
ch[f][son]=ch[pos][son^1];
if(ch[f][son]) fa[ch[f][son]]=f;
fa[f]=pos;ch[pos][son^1]=f;
fa[pos]=ff;
if(ff) ch[ff][ch[ff][1]==f]=pos;
// cout<<"finish rotate "<<ch[pos][son^1]<<ends<<ch[f][son]<<ends<<ch[f][son^1]<<ends<<fa[f]<<endl;
update(f);update(pos);
}

3.insert函数执行过程中siz+1

序列$splay$

1.$getrank$函数要$push$

2.$revolve$操作注意模一下

3.静态查错!不要把变量名打错了(尤其是都是三个字母的情况)

莫队

1.注意卡一卡分块,像0.5,0.6,0.666666,0.7之类的都试一试

2.树上莫队可以把add和del合并,back和update合并(其实普通莫队也可以)

3.莫队真的可以过$1e5$的数据!!!

$KMP$

1.注意$fail$的意义:从1开始,表示长度

2.$getfail$写成函数更好

3.可以想想$fail$树

$AC$自动机

1.注意$getfail$的写法!!!仔细检查

2.$dp$的时候数组别开反了

3.各种空间开够,包括$bfs$队列、$AC$自动机本题,$dp$

4.如果直接暴跳$fail$有可能被卡掉,可以加$vis$标记,然后把信息下传

线性筛

1.记得标记$vis$

2.$\varphi\left(i\right)=1$,$i$为质数

3.推积性函数线筛法:考虑某个质因子增大1会发生什么

莫比乌斯反演

1.两条式子记住,更换枚举方式的时候注意各个函数和值,是分数还是整数的那一项

2.数据大用杜教筛

杜教筛

1.数论分块记得$i=j+1$,不是$i++$

2.$map$复杂度一般够用

3.注意$long long$

主席树

1.新树里面有旧的节点的时候(叶节点,因为写法问题)要加上旧节点的信息(所有的!)

2.合并的时候要注意当前节点是叶节点的情况(用$update$函数的写法)(来自zkw的教导%%%)

GDOI2018前夕 错误总结的更多相关文章

  1. 航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)

    航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明 ...

  2. 关于EINTR错误的理解【转】

    转自:http://www.xuebuyuan.com/1470645.html 最近在工作中遇到了EINTR错误,感到比较困惑,几番研究之后,颇有心得和收获,特记录如下,便于以后查询,也给有同样困惑 ...

  3. 一个低级错误引发Netty编码解码中文异常

    前言 最近在调研Netty的使用,在编写编码解码模块的时候遇到了一个中文字符串编码和解码异常的情况,后来发现是笔者犯了个低级错误.这里做一个小小的回顾. 错误重现 在设计Netty的自定义协议的时候, ...

  4. GDOI2018游记

    前言 不知怎的,本蒟蒻居然拿到了GDOI参赛名额 于是乎,我稀里糊涂地跟着诸位大佬屁颠屁颠地来到了阔别已久的中山一中 腐败difficult and interesting的GDOI比赛就这样开始了. ...

  5. 日期格式代码出现两次的错误 ORA-01810

    错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...

  6. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

  7. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  8. 实时的.NET程序错误监控产品Exceptionless

    Exceptionless可以对ASP.NET, Web API, WebForms, WPF, Console, 和 MVC 应用提供错误监控.上传.报表服务.使用时需要在Exceptionless ...

  9. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

随机推荐

  1. js处理的8种跨域方法

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  2. React后台管理系统-商品管理列表组件

    1.商品列表页面结构 <div id="page-wrapper">              <PageTitle title="商品列表" ...

  3. vue的属性监听

    一.vue的监听 1.监听的例子 如: html:<input type="number" v-model="a" /> js: watch: { ...

  4. java的模运算

    在学习某个加密算法的时候留意到模运算,仔细查了资料后才注意到Java中的 % 其实是取余而不是取模,但是百度的时候找到的很多文章都把Java的 % 直接当成取模来用了,为了少踩坑所以自己整理了一下写了 ...

  5. 项目17-超详细“零”基础kafka入门篇

    分类: Linux服务篇,Linux架构篇   1.认识kafka 1.1 kafka简介 Kafka 是一个分布式流媒体平台 kafka官网:http://kafka.apache.org/ (1) ...

  6. JavaScript(E5,6) 正则学习总结学习,可看可不看!

    1.概述 正则表达式(实例)是一种表达文本模式(即字符串结构)的方法. 创建方式有两种方式: 一种是使用字面量,以斜杠表示开始和结束. var regex = /xyz/ 另一种是使用RegExp构造 ...

  7. 正则表达式-基础知识Review

    正则表达式(Regular Expression)是计算机科学的一个概念. 正则表达式使用单个字符窜来描述.匹配一系列符合某个句法规则的字符窜. 在很多文本编辑器里, 正则表达式通常用来被检索替换哪些 ...

  8. ZendFramework-2.4 源代码 - 开始

    ZendFramework 是一种PHP框架. 写在前面 最早遇到ZendFramework是在阅读一款叫Magento电子商务系统源代码时看到,后来因为工作,把注意力侧重在其他方面,就搁置了继续了解 ...

  9. 新手用WPF山寨QQ管家7.6(三)

    由于一直忙工作,没有更新完博客,更可恨的是...在清理资料的时候不小心删除了之前自己做的各种效果的DEMO....好在项目中用到了大部分,也算有所保留,以后可不敢随便删东西了....太可怕了! 在 新 ...

  10. Linux磁盘与文件管理系统

    基本上Linux的正统文件系统为Ext2,该文件系统内的信息主要有: superblock:记录此filesystem的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与 ...