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 ...
随机推荐
- 机器学习中正则化项L1和L2的直观理解
正则化(Regularization) 概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数的平方的和的开方值. L0正则化 稀疏的参数可以防止 ...
- cuda科普像素坐标和线性偏移
cuda科普像素坐标和线性偏移
- CUDA 中dim3含义
- 前端小记2——移动web解决方案
面向用户级移动web解决方案: 1.代码结构规范 2.字体设置 body{ font-family: -apple-system, BlinkMacSystemFont, "PingFang ...
- Vue之Vue-touch的使用
最近项目中,有的页面发现设置返回键看起来怪怪的,感觉与整体不协调,于是就考虑使用手势滑动事件来实现返回功能~ 开叉查阅资料~找到了vue-touch,使用起来可谓是简单粗暴啊,适合我这样的快速开发人员 ...
- python使用PyQt5,及QtCreator,qt-unified界面设计以及逻辑实现
1.环境安装: 1.安装pyQt5 pip3 install pyQt5 2.安装设计器 pip3 install pyQt5-tools (英文版的) 我是用的是自己Windows上安装的qt ...
- javascript sprintf方法
转载自: http://demon.tw/programming/javascript-sprintf.html function str_repeat(i, m) { for (var o = [] ...
- Python3爬取起点中文网阅读量信息,解决文字反爬~~~附源代码
起点中文网,在“数字”上设置了文字反爬,使用了自定义的文字文件ttf通过浏览器的“检查”显示的是“□”,但是可以在网页源代码中找到映射后的数字正则爬的是网页源代码,xpath是默认utf-8解析网页数 ...
- A * B Problem Plus HDU - 1402 (FFT)
A * B Problem Plus HDU - 1402 (FFT) Calculate A * B. InputEach line will contain two integers A and ...
- HUD:3746-Cyclic Nacklace(补齐循环节)
Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...