#编程 #竞赛 #工作空间 #工具 #应用 #oi #帮助

app oi_helper

用于C++竞赛编程的有用工具

20个版本 (3个稳定版)

2.0.2 2023年2月25日
2.0.1 2022年10月2日
2.0.0-4-devpreview2022年8月16日
0.1.5 2022年8月13日
0.0.4 2022年7月29日

#1009 in 开发工具

每月 38 次下载

GPL-2.0 许可协议

66KB
1.5K SLoC

oi_helper

oi_helper 是一个帮助管理您的C++ OI工作空间的实用应用程序。

为什么选择 oi_helper

我们都知道,在开发应用程序或库时,我们通常需要一个项目管理器。例如,我使用 cargo 来管理这个项目。但是,有一种特殊的编程,它就是算法竞赛编程。这种编程通常被称为OI,至少在中国是这样。OI非常特殊,因为OI项目通常包含许多源文件,每个源文件都可以单独编译成完整的可执行二进制文件。这与普通的开发有很大的不同。但是,谁说OI程序员(做OI的人)就不能有项目管理器呢?通常他们可能需要自己编译所有内容。在过去,他们必须自己编写一切,包括 #includeusing。但是,有了 oi_helper 的代码生成能力,他们不再需要这样做,因为 oi_helper 将帮助他们生成他们想要的,例如,默认模板是:

// <file_name>
// Template generated by oi_helper (https://github.com/onion108/oi_helper)
//

#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <stack>
#include <queue>
using namespace std;

static const int MAXN = 1e5+114514;

int main() {
    return 0;
}

您可以看到 oi_helper 包含了一些OI程序员可能希望使用的头文件,并生成了 MAXN 常量,这在进行动态规划或其他需要数组的算法时非常有用。

安装

如果您想轻松安装,只需输入

cargo install oi_helper

构建

如果您想自己构建它,那么请输入

cargo build

在这样做之前,您应该从这里安装rust。

此外,还有一种特殊版本,称为 开发预览版,其版本号将以 devpreview 结尾。 devpreview 是不稳定的,可能会引起一些问题,甚至可能会编译失败,但 devpreview 包含最新的更改。如果您真的想使用只能与 devpreview 一起使用的功能,您可以在克隆此存储库后输入以下命令

git switch dev
cargo install --path .

如果构建成功,你现在将拥有 devpreview 版本,而不是您正常的发布版本。

还有另一种安装 devpreview 的方法,那就是使用 cargo install oi_helper 并添加 --version 并将其版本号传递给它(例如,cargo install oi_helper --version 2.0.0-1-devpreview 将安装第二个稳定的 devpreview)。通过这种方式可以安装的 devpreview 被称为 稳定的 devpreview

当前 devpreview 的功能

  • 添加了本地测试案例待定。(目前支持 ACWATLE。)
  • 添加了对从给定问题 ID 的 Luogu 获取示例测试案例的实验性支持。

当前 devpreview 的待办事项

  • 添加结果比较。

使用文档

点击此处

依赖项

~9–25MB
~356K SLoC