一些杂项

2024.8.2模拟赛:

  1. 记得检查是否所以输入输出都加了快读/快写

2024.7.30模拟赛:

  1. 看完题觉得太简单不要直接做,检查一遍是否读错题意,若读出两种意思则选择更符合该比赛难度的做法
  2. 开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,出现未知错误。

posted @ 2024-09-20 14:26  叫塞尔达的林克  阅读(45)  评论(0)    收藏  举报