-其它- RiverFun常犯的SB错误合集[不定期更新]

注:错误代码都是用我的码风写的

1

1
2
3
4
int min(int a, int b) {
if (a < b) return b;
else return b;
}

2

1
2
3
4
5
for (int i = 1; i <= n; i++) {
for (int i = 1; i <= m; i++) {

}
}

3

1
2
3
4
5
6
7
8
9
void build(int l, int r, int p) {
if (l == r) {
b[p] = a[l];
}
int m = (l + r) >> 1;
build(l, m, ls(p));
build(m + 1, r, ls(p));
pd(p);
}

4

1
2
3
int mian() {
// 曾经常犯,现在不怎么犯了
}

5

1
2
3
4
int a, b, c;
int main() {
scanf("%d%d%d", a, b, c);
}

6

1
2
3
4
int find(int x) {
if (fa[x] = x) return x;
else return fa[x] = find(fa[x]);
}

7

1
2
3
int main() {
printf("%d", &a);
}

8

1
2
3
4
5
int main() {
for (int i = n; i <= 1; i--) {
/* */
}
}

9

1
2
3
4
char n;
int main() {
scanf("%d", &n);
}

10

1
2
3
4
5
void dfs(int u) {
for (int i = head[u]; i; i++) {
//
}
}

11

1
2
3
4
5
6
7
8
9
10
//建图时
int x, y, z;
int main() {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++) {
scanf("%d%d%d", &x, &y, &z);
add(x, y, z);
add(y, x, z);
}
}

12

1
2
3
4
5
6
7
8
9
//树剖求LCA时
inline int LCA(int x, int y) {
while (top[x] != top[y]) {
if (dep[top[x]] < dep[top[y]]) std::swap(x, y);
x = fa[x];
}
if (dep[x] > dep[y]) std::swap(x, y);
return x;
}

13

1
2
3
4
5
6
7
8
9
10
//向Trie中插入字符串
void insert(char *s) {
int p = 0;
for (int i = 0; s[i]; i++) {
int k = s[i] - 'a';
if (!tr[i][k]) tr[i][k] = ++tot;
p = tr[i][k];
}
ed[p]++;
}

14

1
2
3
4
// 整除分块
for (int l = 1, r; l <= n; l++) {
//
}

15

1
2
3
4
5
//求凸包
for (int i = 3; i <= n; i++) {
if (top > 1 && crossp(st[top], p[i], st[top - 1]) <= 0) top--;
st[++top] = p[i];
}

16

1
2
std::sort(a + 1, a + 1, cmp);
//注:这是在造数据是遇到的

17

1
2
3
4
5
//并查集合并
scanf("%d%d", &x, &y);
int _x = find(x);
int _y = find(y);
fa[_y] = x;
文章作者: RiverFun
文章链接: https://stevebraveman.github.io/blog/2019/03/06/67/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 RiverFun

评论