0-based&1-based
0-based => 0 ~ n - 1 STL写法
1-based => 1 ~ n 普通数组写法
个人模板当中
中位数
这个随意
:取$ [n / 2]$
:取
中位数常见于货仓选址问题
前缀和&差分
基本上都是,不用考虑边界
图论
个人习惯:看题目意思,一般题目从0节点开始, 就0-based,从1节点开始,就1-based,只要修改idx就行
包括但不限于邻接表head节点,边edge;有向无环图的入度deg[],拓扑序列seq[]等。
struct Edge {
int to;
int w;
int nxt;
};
Edge[M];
int head[N], idx = 1; // head节点
int deg[N], seq[N]; // 拓扑排序:入度deg,拓扑序列seq
void add(int form, int to, int w) {
edge[idx].to = to, edge[idx].w = w, edge[idx].nxt = head[from];
head[from] = idx ++;
deg[to] ++;
}
int main() {
memset(head, -1, sizeof head);
memset(deg, 0, sizeof deg);
// ...
}本博客所有文章均采用 CC BY-NC-SA 4.0 协议 ,禁止商用,转载请注明出处!