数学公式
数学公式(运算式、运算符、参与运算的常数、作为变量的字母等)应使用 LaTeX。同一个数学公式应写在一个 LaTeX 环境内。
数学公式中的文本应使用 \text,字符串应使用 \texttt。如 a \text{ is prime}a is prime(a is primea \text{ is prime}a is prime),S = \texttt{aabcd}S=aabcd(S=aabcdS = \texttt{aabcd}S=aabcd)。
公式独立成行时应使用行间公式。以下是一个行间公式的例子:
a+b=ca + b = c a+b=c
a + b = ca+b=c
数学公式中应使用数学语言而非代码语言。
赋值语句 a = b; 可以写作 a \gets ba←b(a←ba \gets ba←b)或 b \to ab→a(b→ab \to ab→a)。
判定语句应使用 =, \ne, <, \le, >, \ge=,
=,<,≤,>,≥(=,≠,<,≤,>,≥=, \ne, <, \le, >, \ge=,=,<,≤,>,≥)与艾佛森括号([P][P] 当 PP 为真时取值为 11,PP 为假时取值为 00)进行描述。
整除应使用 \lfloor \frac{a}{b} \rfloor, \lfloor a / b \rfloor, \lfloor a \div b \rfloor⌊
b
a
⌋,⌊a/b⌋,⌊a÷b⌋(⌊ab⌋,⌊a/b⌋,⌊a÷b⌋\lfloor \frac{a}{b} \rfloor, \lfloor a / b \rfloor, \lfloor a \div b \rfloor⌊ba ⌋,⌊a/b⌋,⌊a÷b⌋),不应使用 \frac{a}{b}
b
a
或 a/ba/b 直接表示整除。
取模应使用 a \bmod bamodb(a mod ba \bmod bamodb) 或 a \equiv b \pmod pa≡b(modp)(a≡b(modp)a \equiv b \pmod pa≡b(modp))。
不应出现 a.ba.b 等结构体式的写法,如有需要可以使用上下标表示。
位运算应使用 \operatorname{and}, \operatorname{or}, \operatorname{xor}and,or,xor(and,or,xor\operatorname{and}, \operatorname{or}, \operatorname{xor}and,or,xor)。特别地,对于状态压缩 DP 等一类常用位运算实现集合运算的代码,建议在题解中用集合语言直接描述。以下是一个例子:
dpS∪{u}←dpS+wudp_{S \cup \{u\}} \gets dp_{S}+w_u dpS∪{u} ←dpS +wu
dp_{S \cup {u}} \gets dp_{S}+w_udp
S∪{u}
←dp
S
+w
u
上下标应使用 a _ {b} ^ {c}a
b
c
(abca _ {b} ^ {c}abc )进行表示。
大数字应使用科学计数法表示,如 5 \times 10 ^ 95×10
9
。
时间复杂度的大 OO 记号中不应带有常数,如有值域、字符集大小等常量,应使用字母进行表示。
应正确使用运算符,如 +, -, \pm, \times, \cdot, \div, \le, \ge, \mid+,−,±,×,⋅,÷,≤,≥,∣(+,−,±,×,⋅,÷,≤,≥,∣+, -, \pm, \times, \cdot, \div, \le, \ge, \mid+,−,±,×,⋅,÷,≤,≥,∣)。
特定的、约定俗成的函数名称应该使用正体,如 \gcd, \max, \min, \log, \detgcd,max,min,log,det(gcd,max,min,log,det\gcd, \max, \min, \log, \detgcd,max,min,log,det)。特别地,对于一些未定义的函数,应使用 \operatorname,如 \operatorname{lcm}lcm(\operatorname{lcm})。
应正确使用大型运算符,如 \sum, \prod, \bigcup, \bigcap∑,∏,⋃,⋂(∑,∏,⋃,⋂\sum, \prod, \bigcup, \bigcap∑,∏,⋃,⋂)。建议在可能引起误解的地方加上括号。
应正确使用取模符号。
取模运算应使用 \bmod,如 a \bmod b = camodb=c(a mod b=ca \bmod b = camodb=c)。
同余符号应使用 \equiv 与 \pmod,如 a \equiv c \pmod ba≡c(modb)(a≡c(modb)a \equiv c \pmod ba≡c(modb))。
应正确使用数学结构符号,如 \frac{a}{b}, \sqrt{a}, \overline{a}, {a}
b
a
,
a
,
a
,{a}(ab,a,a‾,{a}\frac{a}{b}, \sqrt{a}, \overline{a}, \{a\}ba ,a ,a,{a})。
应正确使用箭头符号,用 \to, \gets→,←(→,←\to, \gets→,←)表示赋值,用 \Leftarrow, \Rightarrow⇐,⇒(⇐,⇒\Leftarrow, \Rightarrow⇐,⇒)表示因果关系。
省略号应使用 \dots, \cdots, \ldots…,⋯,…(…,⋯ ,…\dots, \cdots, \ldots…,⋯,…),特别地,矩阵中其它方向的省略号应使用 \vdots, \ddots⋮,⋱(⋮,⋱\vdots, \ddots⋮,⋱)。
波浪线应使用 \sim∼(∼\sim∼)。
连等式应使用 \aligned 环境,分段函数应使用 \cases 环境,矩阵应使用 \bmatrix 环境。以下是一些例子:
∑i=1n∑j=1ngcd(i,j)=∑i=1n∑j=1n∑d∣gcd(i,j)φ(d)=∑d=1nφ(d)∑i=1n∑j=1n[d∣gcd(i,j)]=∑d=1nφ(d)∑i=1n∑j=1n[d∣i][d∣j]=∑d=1nφ(d)⌊nd⌋2\begin{aligned} \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n \gcd(i, j) &= \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n \sum _ {d \mid \gcd(i, j)} \varphi(d) \\ &= \sum _ {d = 1} ^ n
\varphi(d) \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n [d \mid \gcd(i, j)] \\ &= \sum _ {d = 1} ^ n \varphi(d) \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n [d \mid i][d \mid j] \\ &= \sum _ {d = 1} ^ n \varphi(d) \left\lfloor \frac{n}{d} \right\rfloor ^ 2 \end{aligned} i=1∑n j=1∑n gcd(i,j) =i=1∑n j=1∑n
d∣gcd(i,j)∑ φ(d)=d=1∑n φ(d)i=1∑n j=1∑n [d∣gcd(i,j)]=d=1∑n φ(d)i=1∑n j=1∑n [d∣i][d∣j]=d=1∑n φ(d)⌊dn ⌋2
∣2x−1∣={2x−1x>120x=121−2xx<12\lvert 2x - 1 \rvert = \begin{cases} 2x - 1 & x > \frac{1}{2} \\ 0 & x = \frac{1}{2} \\ 1 - 2x & x < \frac{1}{2} \end{cases} ∣2x−1∣=⎩⎨⎧ 2x−101−2x x>21 x=21 x<21
[fi+1fi]=[1110]×[fifi−1]\begin{bmatrix} f_{i + 1} \\ f_i \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \times \begin{bmatrix} f_i \\ f_{i - 1} \end{bmatrix} [fi+1 fi ]=[11 10 ]×[fi fi−1 ]
(这些由落谷复制过来的)