提高组注意事项
lcr老师最后一次讲课啦
基本概念
long long 注意开!lld输出
double (lf) 读入 (f) 输出
scanf("(%d,%d)") 可以读入类似(1,2) (3,4)的点坐标
数组不能开2的次方,二维数组第一维比第二维要多
注意判断是否需要高精度
输出string : ( ext{printf("%s",str.c_str())};)
结构体重载运算符:
( ext{bool operator < (const node &b) const{...}})
注意后面的const
30min检查
用虚拟机测一遍代码,有结果不一样及时修改(可以提前做)
带下划线的函数不能用
测测大样例时间,适度卡常(不要把分卡没了)
电脑上时间可能是错的,不要改
freopen精准到字母
代码是否在要求的文件夹下,文件夹下没有子目录
函数空间预留20M...
关显示器(有人改你代码
基本算法
图论题看清重边、自环、有/无向图
邻接矩阵用途:稠密图/floyed
稠密图的dij不加堆优化更快
稠密图用不加堆优化的prim
dijkstra不能处理负权,边有负数的用SPFA
并查集:带权并查集的应用
贪心算法:猜/证结论+对拍
背包二进制分组
倍增数组小的开到第二维
线段树空间4倍,主席树30~40倍
万一有强制在线的题离场前记得再过一遍样例
字典树注意空间,也可以邻接表(时间会多一点)
扫描线 - - 今晚写
二分图判断/染色
欧拉回路 存在:偶数度数点/联通 搜!
缩点可以转化成DAG上问题
树上倍增处理dp
线性递推 + 大数据 -> 矩阵乘法
线性递推 + 修改 -> 矩阵乘法 + 线段树 / 树剖
高斯消元判断无解/无限解
处理非质数问题有时候可以考虑拆开
树型dp可以用dfn序优化