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 ...
随机推荐
- 【转】iOS开发4:关闭键盘
在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭 ...
- react树状组件
最近在react项目中需要一个树状组件,但是又不想因为这个去引入一套UI组件,故自己封装了一个基于react的树状组件, 个人认为比较难得部分在于数据的处理,话不多说直接上代码: 下面是tree.js ...
- ORTP-0.27.0移植
注意: a. 对于0.27一下版本的ORTP的交叉编译则没有一下依赖库 b. 交叉编译工具链是: arm-linux-gnueabihf-gcc-4.9.1 (4.9版本一下的编译bctoolbox出 ...
- C/C++程序基础 (四)字符串
字符串与数字转化 数字转换字符串:itoa, ltoa, ultoa ; gcvt, ecvt, fcvt 字符串转数字:atoi, atof(双精度浮点), atol:strtod(双精度浮点), ...
- Linux下重要日志及查看方式
1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,如图1所示: 图1 /var/log/boot. ...
- jupyter notebook(二)——修改jupyter打开默认的工作目录
1.简述 jupyter notebook,启动后,浏览器发现工作目录并不是自己真正的代码的工作路径.所以需要设置一下.这样方便自己快捷使用. 2.设置修改jupyter notebook打开后默认工 ...
- JAVA连接数据库,并写入到txt文件
package Hello; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;impor ...
- Susan Sontag【苏珊·桑塔格】
Sunsan Sontag Sunsan Sontag was one of the most noticeable figures in the world of literature. 苏珊·桑塔 ...
- Diycode开源项目 BaseApplication分析+LeakCanary第三方+CrashHandler自定义异常处理
1.BaseApplication整个应用的开始 1.1.看一下代码 /* * Copyright 2017 GcsSloop * * Licensed under the Apache Licens ...
- Spring Boot 开发系列一 开发踩坑
这是学习spring boot 的第二周,公司号称这玩意是啥都不会的新手就可以填空开发,于是决定上手一把,怎么说我也是搞了快七八年的.NET和.NETcore,没想到无情打脸,快被这个能填空开的IDE ...