摘要:
### 乘法逆元 ### 快速幂 仅对模数 $p$ 为质数时适用 跑的没有用 exgcd 求的快 ```cpp int query(int x) { return ksm(x,p-2,p); } int ksm(long long x,int n,int p) { int re=1; while(n 阅读全文
posted @ 2019-11-14 11:17
nenT
阅读(141)
评论(0)
推荐(0)
摘要:
### 树状数组 #### 单点修改 区间查询 修改 查询复杂度 $O(log \ n)$ ```cpp int lowbit(x) { return x&-x; } void add(int x,int k) { while(x<=n) { tree[x]+=k; x+=lowbit(x); } 阅读全文
posted @ 2019-11-14 11:04
nenT
阅读(86)
评论(0)
推荐(0)
摘要:
### 快速幂 ```cpp int ksm(long long x,int n,int p) { int re=1; while(n) { if(n&1) re*=x%p; x*=x%p; n>>=1; } return re; } ``` 阅读全文
posted @ 2019-11-14 10:46
nenT
阅读(115)
评论(0)
推荐(0)
摘要:
### 堆 #### STL `include` `priority_queue q;` 大根堆 `priority_queue,greater > q;` 小根堆 #### 手写 ~~然而并不比stl快~~ ```cpp int heap[MAX],size; void _push(int v) 阅读全文
posted @ 2019-11-14 10:42
nenT
阅读(145)
评论(0)
推荐(0)
摘要:
### 并查集 合并 查询的效率很高 可以近似看作 $O(1)$ ~~在不加路径压缩的极端情况下会退化成一条链 例如csp-s 2019 ccf 的并查集代码~~ ```cpp void init() { for(int i=1;i<=n;i++) f[i]=i; } void Union(int 阅读全文
posted @ 2019-11-14 10:36
nenT
阅读(127)
评论(0)
推荐(0)
摘要:
### ST表 可以用来静态求解RMQ问题 预处理 $O(n\ log \ n)$ 查询 $O(1)$ ```cpp void pre_st() { for(int j=1;j>1]+1; } int query(int l,int r) { int t=log[r-l+1]; return max 阅读全文
posted @ 2019-11-14 10:30
nenT
阅读(119)
评论(0)
推荐(0)

浙公网安备 33010602011771号