本文将会不定期更新~
我的 OI 代码模版。
#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cstdio>
typedef long long ll;
typedef unsigned long long ull;
typedef std::pair<int, int> PII;
typedef std::pair<ll, ll> PLL;
#define x first
#define y second
const int dx[4] = {0, 1, 0, -1};
const int dy[4] = {-1, 0, 1, 0};
一般 OI / ACM 或者笔试题的时间限制是 1 秒或 2 秒。在这种情况下,C++ 代码中的操作次数控制在 10^7 \sim 10^8 为最佳。
下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:
本部分来自 yxc 的文章:《由数据范围反推算法复杂度以及算法内容》,有改动。
着重推荐 https://cftracker.netlify.app/contests 和 https://kenkoooo.com/atcoder#/table!
简述 | 详情 |
---|---|
在线查看汇编 | 甚至支持代码片段的汇编 |
模板 OJ | 专门为模板题提供评测的 OJ |
并查集的最优写法 | 对比八种并查集写法,给出在不同条件下的最优写法 |
大组合数取模 | 大组合数 \binom{n}{m} 对任意质数幂 p^e 取模在 \mathcal O (p e + e \log_p n) 次大数乘法内解决 |
用人话解析 C++ 语法 | 给出变量或数组或函数的定义或类型转换,翻译成英语以供理解 |
AtCoder 数据 | 下载 AtCoder 每题的测试数据 |
AtCoder 难度评分和 AC 统计 | 方便查询每题的难度系数,也可以指定用户名查看通过的题目,还有更多功能 |
分解质因数 | 只能说是一个很奇怪的分解质因数的网站 |
Codeforces 插件 | 由于 Chrome 禁止未知来源的扩展程序,请在 Chrome 网上应用店中安装使用 |
Codeforces 掉分预测 | 由于 Chrome 禁止未知来源的扩展程序,请在 Chrome 网上应用店中安装使用 |
比较两个文本之间的差异 | 看起来甚至支持图片和 PDF 的比较,这合理吗? |
GCC 编译选项推荐 | 预防各种 bug |
Codeforces 刷题信息统计 | 由于 Chrome 禁止未知来源的扩展程序,请在 Chrome 网上应用店中安装使用 |
更好的 Codeforces 掉分预测 | 由于 Chrome 禁止未知来源的扩展程序,请在 Chrome 网上应用店中安装使用 |
Codeforces AC 统计 | 指定用户名查看通过的题目,大大有利于刷题 |
C++ 运行时错误查询 | 调题必备;须会英文() |
转自 FYMS-OI(YAOJ) 《OI 实用链接》,有改动。