Blog

I use blog to record something.

计算机位运算

1.补码 1.对于无符号的整形,直接表示就行 2.对于有符号的整形,当最高位表示0(非负数)时,编码C直接看成无符号整数S。当最高位为1(负数)的时候该编码取反得到的编码~C的数值为-1-S。 3.任意两种类型的数值进行运算的时候都是...

Haoyu Deng
Haoyu Deng

unknown title

// // Created by dhy on 18-8-15. // # include <iostream> # include <algorithm> using namespace std; int n...

Haoyu Deng
Haoyu Deng

倍增求LCA

倍增法求LCA 先用dfs求出每个点的深度(这个你应该会吧?) 设F[x][i]表示x的$2^i$的辈祖先,即x向根节点走$2^i$步到达的节点,若该点不存在,则令f[x][i] = 0,那么F[x][0]就是x的父节点。...

Haoyu Deng
Haoyu Deng

LCA

void dfs(int u,int fa){ dep[u] = dep[fa]+1; for(int i = 0;i<=19;i++){ f[u][i+1]=f[f[u][i]][i];//处理...

Haoyu Deng
Haoyu Deng

线段树

构造普通线段树 //用数组来做 int mins[]; void build(int k,int l,int r){//k代表编号 if(l==r){ nodes[k].val = a[l]; ...

Haoyu Deng
Haoyu Deng

ST快速查询区间最值板子

int max = ....; int logN = 20;//自己改,值是log2 N int a[],F[max][logN],int log2[]; cin>>a; log2[0] = -1; for(1...N){...

Haoyu Deng
Haoyu Deng