社区讨论

进食后人 全是MLE和RE

P1955[NOI2015] 程序自动分析参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mdeo7ywo
此快照首次捕获于
2025/07/22 23:09
8 个月前
此快照最后确认于
2025/11/04 03:54
4 个月前
查看原帖
1e5的数据量在某些情况可能导致
CPP
int find(int x){
    if(x==fa[x]) return x;
    else fa[x]=find(fa[x]);
} 
并查集查找时栈溢出
修改成迭代版即可
CPP
inline int find(int x){
    while (x != fa[x]) {
        fa[x] = fa[fa[x]];  // 路径压缩(迭代版)
        x = fa[x];
    }
    return x;
}
如有类似问题可以尝试食用
但其他人使用相同代码都不会有问题,所以不确定是不是我的代码其他部分问题关联到其栈溢出

回复

1 条回复,欢迎继续交流。

正在加载回复...