【数据结构】并查集

并查集主要用于处理一些不相交集合的问题。

每个集合包含一个或多个元素,并且有一个代表元素。对于给定一个元素,可以快速找到其所属集合的代表元素,这样判断两个元素是否属于同一集合,只需要判断二者所属集合的代表元素是否一致即可。

如果要合并两个集合,只需要将其中一个集合的代表元素设为另一个集合的代表元素即可。

即,并查集主要应用于两个操作:

    阅读全文 »

【C++】常见问题

C++编译器GCC

C/C++常用的编译器是由GNU开发的GCC(GNU Compiler Collection)编译器。

通过GCC编译器可以完成预处理、编译、优化、链接,生成可执行二进制代码。

常用命令:

gcc test.c -o test

                
                  
                  

阅读全文 »

OJ 判题核心

1 Online Judge 判题核心

判题核心程序通过构建一个沙盒,运行用户提交的代码, 利用ptrace跟踪,限制用户代码的行为和资源消耗。

core.h文件中是一些常量和全局变量的定义

core.cpp是主程序文件

logger.h是一个简易的日志程序

阅读全文 »