当前位置: 首页 > news >正文

常见错误及细小知识点锦集

考场策略

1、别把子串看成子序列!!

2、千万千万别把模数看错!

3、在bash中用<a.in读入的话在程序中不能开文件!

4、打比赛的时候每个题都要重写const int maxn = xxx

5、看清输出格式,不要在题目要求输出3个数的时候输出两个数

6、样例玩不出来一定是自己算错了!考虑用最无脑的方法算,再算不出来重读题目

7、数组大小!!!

8、注意排序的时候greater<int>()是否应该写为greater<LL>()  比较隐蔽。

 

数据结构

LCT

splay只有该点的父亲节点不是根节点的时候才转两次

    for(int y = fa(x); !IsRoot(x); rotate(x), y = fa(x))
        if(!IsRoot(y))//注意 
            rotate( ident(x) == ident(y) ? y : x );

 

access的时候需要将节点转到全局的根,所以循环边界为x==0

而splay的时候只要转到当前根就可以了

  access:  for(int y = 0; x; x = fa(y = x))
 splay: for(int y = fa(x); !IsRoot(x); rotate(x), y = fa(x))

 

FFT

while(limit <= N + M) limit <<= 1, L++;

 

for(int R = mid << 1, j = 0; j < N; j += R) {//这里要写<N 

 

 

 

这里一定要取等号,$N$表示了一个长度为$N+1$的多项式,因此乘起来的多项式的最高次项为$N+M$,共有$N+M+1$位

 

ST表

int Query(int l, int r) {
    int k = Log[r - l + 1];
    return max(f[l][k], f[r - (1 << k) + 1][k]);//不要写成f[r - k + 1] 
}

 

圆方树

圆方树求一个点跳到环上的位置时

    int las;
    while(top[x] != top[lca]) las = top[x], x = fa[top[x]];//las = top[x] not x
    return x == lca ? las : point[dfn[lca] + 1];//这里要写lca 

 CDQ分治

    while(tl <= mid || tr <= r) {
        if((tr > r) || (tl <= mid && a[tl].x < a[tr].x)) st[++tot] = a[tl++];//这里要加上tl <= mid 
        else st[++tot] = a[tr++];
    }

 

 

 

字符串

后缀自动机

    int now = ++tot, pre = last; last = now;//这里不要把last重新int一遍 

 

if(len[pre] + 1 == len[q]) fa[now] = q;
//注意这里和下面都不能写fa[ns] = pre,因为q的父亲不一定是pre,q的len应当是一段区间[x, y],它父亲节点的len的最大值为x-1,而且per节点的len为y-1 
else {
    int ns = ++tot; fa[ns] = fa[q]; len[ns] = len[pre] + 1;
    memcpy(ch[ns], ch[q], sizeof(ch[q]));
    fa[q] = fa[now] = ns;
    for(; pre && ch[pre][x] == q; pre = fa[pre]) ch[pre][x] = ns;
}

 

 

只有可接受节点才能被统计入siz

 

数学

高斯消元

$a[i][i]$是第$i$个方程的解!!

 

 

 

 

相关文章:

  • 物联网之父:中国将引领物联网技术实现飞跃
  • React v16.3 版本新生命周期函数浅析及升级方案
  • 连接无处不在——2016年中国国际信息通信展带你叩响未来世界的大门
  • 二、Java面向对象(8)_继承思想——继承关系
  • 行业领袖支招网络安全:如何走出“黑暗时代”?
  • 《程序设计与数据结构》第八周学习总结
  • 报告显示:95.9%的手机网民认为自己曾遇到过信息安全事件
  • 《黑客大曝光:移动应用安全揭秘及防护措施》一2.1 基础移动网络功能
  • JS基础之数据类型、对象、原型、原型链、继承
  • 大数据时代用技术力量缓解春运难题
  • 第0次作业 4班卢炳武
  • 如何有效地管理测试用例
  • 【多线程】将大批量数据插入多张表,怎么知道多张表都插成功了
  • 微软发布Asp.Net Core 1.1的第一个预览版本
  • IP地址和子网划分学习笔记之《子网掩码详解》
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • Android优雅地处理按钮重复点击
  • javascript 总结(常用工具类的封装)
  • Java新版本的开发已正式进入轨道,版本号18.3
  • mongo索引构建
  • MySQL几个简单SQL的优化
  • nodejs:开发并发布一个nodejs包
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • unity如何实现一个固定宽度的orthagraphic相机
  • 订阅Forge Viewer所有的事件
  • 关于Java中分层中遇到的一些问题
  • 技术:超级实用的电脑小技巧
  • 精彩代码 vue.js
  • 全栈开发——Linux
  • 如何编写一个可升级的智能合约
  • 详解移动APP与web APP的区别
  • ​ArcGIS Pro 如何批量删除字段
  • ​力扣解法汇总946-验证栈序列
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (1)常见O(n^2)排序算法解析
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (C语言)球球大作战
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (分类)KNN算法- 参数调优
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (排序详解之 堆排序)
  • (四)汇编语言——简单程序
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • . Flume面试题
  • .net core 控制台应用程序读取配置文件app.config
  • .NET/C# 使窗口永不获得焦点
  • .NET构架之我见
  • .NET下ASPX编程的几个小问题
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @GetMapping和@RequestMapping的区别
  • [100天算法】-x 的平方根(day 61)
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [Codeforces] probabilities (R1600) Part.1