一些杂项
2024.8.2模拟赛:
- 记得检查是否所以输入输出都加了快读/快写
2024.7.30模拟赛:
- 看完题觉得太简单不要直接做,检查一遍是否读错题意,若读出两种意思则选择更符合该比赛难度的做法
- 开inf,MAX一定要检查是否超int/ll,不要直接const int inf=1e18;
- abs()向上取整
- round()四舍五入
- ceil()向上取整
- floor()向下取整
- pow(x,y)求x的y次方
- sqrt(x)开平方
- log(x)以e为底的对数
- log10(x)以10为底的对数
- log(y)/log(x)以1x为底的y的对数
绝对值函数,四舍五入函数,取上整函数, 取下整函数,常用三角函数,对数函数,指数 函数,平方根函数
素性检验:2,325, 9375, 28178, 450775, 9780504, 1795265022
- memset(a,0,sizeof(a));(可赋值:0->0,-1->-1,0x3f->0x3f3f3f3f=1061109567=1e9,0x7f->0x7f7f7f7f=2139062143=2e9<INT_MAX)
- fill(a+1,a+n+1,v);
- memcpy(a,b,sizeof(b));
- copy( first, last, d_first );
- first 和 last:表示输入范围的迭代器。
- first 指向要复制的范围的起始位置
- last 指向要复制的范围的结束位置(不包括该位置的元素)。
- d_first:表示输出范围的迭代器。它指向要将元素复制到的目标范围的起始位置
- gcd(a,b)最大公约数
- alls.erase(unique(alls.begin(),alls.end()), alls.end());去重 (vector类型)
- __builtin_popcount二进制几个一(int)
- __builtin_popcountll(long long)
- 头文件#include <unordered_map>
- printf
- %d int
- %B bool
- %s 表示字符串。
- %c 表示字符。
- %lf 表示双精度浮点数 (double)。
- %lld 表示长整型 (long long)。根据系统不同,也可能是 %I64d。
- %u 表示无符号整型 (unsigned int)。
- %llu 表示无符号长整型 (unsigned long long),也可能是 %I64u。
- printf("%.2lf",a); //保留两位小数(double)
- cout默认保留6位小数
- d[i]:返回d中下标为I的元素的引用。
- d.front():返回的一个元素的引用。
- d.back():返回最后一个元素的引用。
- d.pop_back():删除尾部的元素。不返回值。
- d.pop_front():删除头部元素。不返回值。
- d.push_back(e):在队尾添加一个元素e。
- d.push_front(e):在对头添加一个元素e。
- d.clear()清空d
- d.size()返回d大小
范围
- 变量
- short -32768~32767
- int[-231~231-1]1e9
- unsigned int[0~2^32-1]
- longlongint[−263,263−1][-9e18,9e18]
- unsigned long long[0,2^64−1][0,1e19]
- __int128[-2127~2127-1]
- 数组
- int3e7
- longlong1e6
- char1e8
- P3383 【模板】线性筛素数
- P1226 【模板】快速幂
- P4779 【模板】单源最短路径,dj
- P1434 滑雪(记忆化搜索)
- P1833 樱花(二进制拆分背包)
- P1886 【模板】单调队列
- P1775 石子合并(弱化版)(区间DP)
- P1880 石子合并(区间DP,环形)
- P3367 【模板】并查集
- P1892 团伙 并查集+反集
- P3379 LCA
- P2580 字典树
- P3375 【模板】kmp
- P3389 【模板】高斯消元法
- P5854 【模板】笛卡尔树+卡常
- P2324 [SCOI2005] 骑士精神 IDA*
- P3372 【模板】线段树 1
- P8435 【模板】点双连通分量
当遇到求区间最值,切无修改 st表
- 随机数
#include <random>
mt19937 mt(time(0));
uniform_int_distribution<ull> ran(1,(ull)-1);//范围
w[i]=ran(mt);
重新定义运算符
struct P{
int l,r;
bool operator < (const P& other) const {
return l<other.l;
}
}ar[N];
sort(ar+1,ar+n+1); 升序
priority_queue<P>q;q.top()是最大的元素
大质数:4444455555666667,4444455555666677
AC:Accept,程序通过。
CE:Compile Error,编译错误。
PC:Partially Correct,部分正确。
WA:Wrong Answer,答案错误。
RE:Runtime Error,运行时错误。
TLE:Time Limit Exceeded,超出时间限制。
MLE:Memory Limit Exceeded,超出内存限制。
OLE:Output Limit Exceeded,输出超过限制。
UKE:Unknown Error,出现未知错误。

浙公网安备 33010602011771号