GDOI2018前夕 错误总结
算法易错点
$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前夕 错误总结的更多相关文章
- 航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)
航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明 ...
- 关于EINTR错误的理解【转】
转自:http://www.xuebuyuan.com/1470645.html 最近在工作中遇到了EINTR错误,感到比较困惑,几番研究之后,颇有心得和收获,特记录如下,便于以后查询,也给有同样困惑 ...
- 一个低级错误引发Netty编码解码中文异常
前言 最近在调研Netty的使用,在编写编码解码模块的时候遇到了一个中文字符串编码和解码异常的情况,后来发现是笔者犯了个低级错误.这里做一个小小的回顾. 错误重现 在设计Netty的自定义协议的时候, ...
- GDOI2018游记
前言 不知怎的,本蒟蒻居然拿到了GDOI参赛名额 于是乎,我稀里糊涂地跟着诸位大佬屁颠屁颠地来到了阔别已久的中山一中 腐败difficult and interesting的GDOI比赛就这样开始了. ...
- 日期格式代码出现两次的错误 ORA-01810
错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...
- ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...
- 实时的.NET程序错误监控产品Exceptionless
Exceptionless可以对ASP.NET, Web API, WebForms, WPF, Console, 和 MVC 应用提供错误监控.上传.报表服务.使用时需要在Exceptionless ...
- 一个粗心的Bug,JSON格式不规范导致AJAX错误
一.事件回放 今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...
随机推荐
- SVN .a文件丢失问题
只需2张图 这样就ok 了
- codeforces 1114C
题目连接 : https://codeforces.com/contest/1114/problem/C 题目大意:给一个整数n(1e18>=n>=0),和一个整数k(1e12>=k ...
- mongdb 一些操作
一.命令操作数据库1.管理员身份打开cmd2.进到mongdb的mongo.exe文件所在路径3.show dbs 查看mongodb4.连接远程数据库:mongo ip:端口/数据库5.打开某个数据 ...
- S运算符&&和|| 及其优先级
a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, tru ...
- CentOS Linux 安装IPSec+L2TP
第二层隧道协议L2TP(Layer 2 Tunneling Protocol)是一种工业标准的Internet隧道协议,它使用UDP的1701端口进行通信.L2TP本身并没有任何加密,但是我们可以使用 ...
- linux硬件基础
1. 服务器分类 机架式服务器(主要用这个). 刀片式服务器. 塔式服务器. 2. 机架式服务器 服务器的尺: U - 2U. 服务器核心之电源: 双电源 AB 路. 服务器核心之 CPU-计算 CP ...
- HDU 6092 01背包变形
Rikka with Subset Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- <html5 canvas>一个简单的矩形
Html5: <!doctype html> <html> <head> <meta charset="UTF-8"> <ti ...
- CentOS6.5生产环境系统安装
CentOS 6.5系统安装 1-1 将预先准备的CentOS 6.5安装光盘插入光驱中,开机/重启系统时,系统会进行自检,自检完毕就会出现安装系统时的引导界面,如图1-1所示.1-2 使用键盘方向键 ...
- 字符编码,ASCII、Unicode与UTF-8的理解
首先我们先要明白的两点是:1.计算机中的信息都是由二进制的0和1储存的:2.我们再计算机屏幕上看到的各种字符都是计算机系统按照一定的规则将二进制数字转换而来的. 一.基本概念. 1.字符集(chars ...