OI模板
与算法竞赛有关的自用模板,全部是 C++ 写的
LaTeX 数学公式
肯定包括了本站几乎所有数学公式的写法
本站更新日志及公告
这里是本站的更新日志和公告栏喵~
LaTeX sideset用法
LaTeX sideset用法 奇妙的排版方式增加了 \[ \sideset{_7^{10}}{_8^9}{\sideset{_1^4}{_2^3}{f^k_{i,j}}_5^6}_{11}^{12} \] \sideset{_7^{10}}{_8^9}{\sideset{_1^4}{_2^3}{f^k_{i,j}}_5^6}_{11}^{12} 主要用于为数学符号添加各种上下标,用法就是 \sideset{左侧上下标}{右侧上下标}{运算符} 。 比如下面这样 \[ \sideset{_a^b}{_c^d}{\sum} \] \sideset{_a^b}{_c^d}{\sum}
LaTeX 为数学公式编号和设置跳转链接
LaTeX 为数学公式编号和设置跳转链接 先放一个公式作为例子,来源是洛谷 P2260。 \[ \left(\sum_{i=1}^{n}\sum_{j=1}^{m}(n\bmod i)\times(m\bmod j),i\ne j \right) \mod 19940417 \] 然后我这边的 Mathjax 设置成了默认不会显示公式编号的,方便手动管理。 我们可以使用 \tag{1} 来为公式编号,编多少都可以,写在最前面或者最后面都可以,如下 \[ \tag{1} \left(\sum_{i=1}^{n}\sum_{j=1}^{m}(n\bmod i)\times(m\bmod j),i\ne j \right) \mod 19940417 \] \tag{1} \left(\sum_{i=1}^{n}\sum_{j=1}^{m}(n\bmod i)\times(m\bmod j),i\ne j \right) \mod 19940417 不过这个只会影响公...
Hexo Butterfly主题 文章设置加密
Hexo Butterfly主题 文章设置加密 虽然我觉得给公开发布的文章加密实在是意义不明,但是怎么实现还是值得研究的。 很简单,安装 hexo-blog-encrypt 插件就行了,Github 链接 点这里 。 npm install hexo-blog-encrypt 根据它的文档页面的说明,在 Hexo 博客根目录的 _config.yml 里添加下面的自定义配置。 encrypt: # hexo-blog-encrypt abstract: 有东西被加密了, 请输入密码查看. message: 您好, 这里需要密码. wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试. theme: default silent: false # 加密所有带有以下标签的文章. tags: - {name: 作为日记加密, password: 密码A} - {name: 作为提示加密, password: 密码B} # 在密码框旁显示 "解密" 按钮. 默认: true....
海伦公式(Heron's formula)
海伦公式(Heron’s formula) 假设有一个三角形,边长分别为 \(a,b,c\) ,则三角形面积 \(S\) 可由以下公式求得 \[ \begin{array}{} S=\sqrt{s(s-a)(s-b)(s-c)}&\text{where }s=\dfrac{a+b+c}{2} \end{array} \] 证明: 设三角形的三边 \(a,b,c\) 的对角分别为 \(A,B,C\) 。 根据余弦定理可知 \[ \cos C =\frac{a^2+b^2-c^2}{2ab} \] 根据三角函数的各种公式,记 \(s=\frac{a+b+c}{2}\) ,考虑展开 \(\sin C\) \[ \begin{aligned} \sin C &= \sqrt{1 - \cos^2 C} \\[8pt] &= \sqrt{(1 + \cos C)(1 - \cos C)} \\[8pt] &= \sqrt{\left(1 + \frac{a^2 + b^2 - c^2}{2ab}\right)\left(1 - \frac{a^2 + b^...
洛谷B2031 计算三角形面积 题解
洛谷B2031 计算三角形面积 题解 题目链接:B2031 计算三角形面积 题目描述: 平面上有一个三角形,它的三个顶点坐标分别为 \((x_1,y_1),(x_2,y_2),(x_3,y_3)\),那么请问这个三角形的面积是多少。 输入格式: 输入仅一行,包括 \(6\) 个双精度浮点数,分别对应 \(x_1,y_1,x_2,y_2,x_3,y_3\)。坐标的绝对值不超过 \(100\),且小数点后最多只有一位。 输出格式: 输出也是一行,输出三角形的面积,精确到小数点后两位。 常规的有两种做法:海伦公式、向量叉积。 时间复杂度都是 \(O(1)\) ,不过向量叉积计算的话精度明显会更高,代码也更简单。 海伦公式: 记三角形的边长为 \(a,b,c\) (可通过两点距离公式计算),则 \[ \begin{array}{} S=\sqrt{s(s-a)(s-b)(s-c)}&\text{where }s=\dfrac{a+b+c}{2} \end{array} \] 向量叉积: 不妨记三个点为 \(A,B,C\) ,并记 \(\mathbf{a}=\overright...
gcc,g++,GCC,C,C++之间的关系是什么?
gcc,g++,GCC,C,C++之间的关系是什么? 省流:C 和 C++ 是编程语言,gcc 和 g++ 是编译工具,GCC 是包含 g++ 和 gcc 的编译工具套件。 1. C 和 C++ 是什么? C 和 C++ 是两种不同的编程语言。 C:一种编程语言,主要采用过程式编程,常用于操作系统、嵌入式开发等领域。 C++:在 C 的基础上发展而来的编程语言,支持过程式编程,也支持面向对象编程、泛型编程等。 2. gcc 和 g++ 是什么? 它们都是 GNU Compiler Collection(GNU 编译器套件,简称 GCC)提供的编译器驱动程序。 GCC:GNU 编译器套件,包含多种语言的编译工具。 gcc:通常用于编译 C 程序的命令/工具,包含在 GCC 里。 g++:通常用于编译 C++ 程序的命令/工具,包含在 GCC 里。 3. 相互之间的关系 图是 ChatGPT 画的,我懒得画。
洛谷B2042 判断一个数能否同时被 3 和 5 整除 题解
洛谷B2042 判断一个数能否同时被 3 和 5 整除 题解 题目链接:B2042 判断一个数能否同时被 3 和 5 整除 题目描述: 判断一个数 \(n\) 能否同时被 \(3\) 和 \(5\) 整除。 输入格式: 输入一行,包含一个整数 \(n\)。 输出格式: 输出一行,如果能同时被 \(3\) 和 \(5\) 整除输出 YES,否则输出 NO。 数据范围: \(-10^9<n<10^9\) 很容易想到取模两次,不过很显然这样是效率更低的,除法很慢、常数大。 注意到,如果一个数能同时被 \(3\) 和 \(5\) 整除,那么它一定可以写做 \(3\times 5 \times \cdots\) 的形式 于是我们只需要判断这个数是否能被 \(15\) 整除即可。 时间复杂度 \(O(1)\) 代码: #include <bits/stdc++.h> using namespace std; #define int long long #define INF 0x3f3f3f3f3f3f3f3f template<typename T> void ...
UVA511 Do You Know the Way to San Jose? 题解
UVA511 Do You Know the Way to San Jose? 题解 题目链接:UVA511 Do You Know the Way to San Jose? 题目描述: 互联网现在提供了多种交互式地图设施,用户既可以查看大范围地理区域的概览地图,也可以“放大”到某条具体街道,有时甚至能查看某栋具体建筑所在的更详细地图。例如,圣何塞市中心可能同时出现在加利福尼亚州地图、圣克拉拉县地图以及一张详细街道地图中。 假设你拥有大量矩形地图,并希望设计一个浏览设施,用来处理一系列针对不同地图细节级别地点的地图请求。地点使用地点名称表示。每个地点名称都有唯一的一对实数坐标 \((x,y)\)。每张地图都是唯一的,并带有用于标识的地图名称,且由两对实数坐标 \((x_1,y_1)\) 和 \((x_2,y_2)\) 定义,这两对坐标表示地图的两个对角点。所有地图的边都平行于标准笛卡尔 \(x\) 轴和 \(y\) 轴。地图和地点可以同名。地图的高宽比定义为其高度与宽度之比,其中宽度沿 \(x\) 方向度量,高度沿 \(y\) 方向度量。 一张地图的细节级别可以用该地图所表示的...
洛谷P1171 售货员的难题 题解 & 旅行商问题(TSP 问题)模板
洛谷P1171 售货员的难题 题解 & 旅行商问题(TSP 问题)模板 题目链接:P1171 售货员的难题 题目描述: 某乡有 \(n\) 个村庄,有一个旅行商 qry,他要到各个村庄去售货。 各村庄之间的路程 \(e(i,j)\) 是已知的,且 \(A\) 村到 \(B\) 村与 \(B\) 村到 \(A\) 村的路大多不同(有向图)。 为了提高效率,qry 从商店出发到每个村庄一次,然后返回商店所在的村。 假设商店所在的村庄为 \(1\),他不知道选择什么样的路线才能使所走的路程最短。 请你帮他选择一条最短的路。 输入格式: 第一行是一个整数,表示村庄数 \(n\)。 接下来 \(n\) 行,每行 \(n\) 个整数,第 \(i\) 行的第 \(j\) 个整数表示 \(i\) 到 \(j\) 的单向路径的距离 \(e(i,j)\)。 输出格式: 一行一个整数表示最短的路程。 数据范围: 保证 \(2 \leq n \leq 20,~1 \leq e(i,j) < 10^3,~e(i,i) = 0\)。 考虑状压dp。方便起见,把节点记为 \(0\) 到 \(...










