MATH Day 04 Applications & Practice
第一档习题集 (Problem Set)
N4. 计算 \(3^{10000} \pmod{100}\)
原有内容:
由 \(\phi(100) = 40\),故 \(3^{40} \equiv 1 \pmod{100}\)。又 \(40 \mid 10000\),故 \(3^{10000} \equiv 1 \pmod{100}\)。
讲师补充:
这里应用了欧拉定理 (Euler's Theorem):若 \(\gcd(a, n) = 1\),则 \(a^{\phi(n)} \equiv 1 \pmod n\)。
这是一个标准且简洁的解法。在计算 \(\phi(100)\) 时,利用公式 \(\phi(n) = n \prod_{p|n}(1 - \frac{1}{p})\),即 \(100(1 - \frac{1}{2})(1 - \frac{1}{5}) = 40\)。
N5. 找出 \(S \subseteq \{1, \dots, 11\}\),使 \(|S|\) 最大,且 \(\prod_{x \in S} x \equiv 1 \pmod{12}\)
原有内容:
\(n=12\)。前面已证明过,对于 \(n=12\),\(\mathbb{Z}_n^*\) 非循环 \(\Rightarrow\) 必有 \(2^k\) 个 \(x^2 = e = \bar{1}\) (\(k > 1\))。故而 \(\prod_{x \in \mathbb{Z}_n^*} x \equiv 1 \pmod n\),\(\{1, 5, 7, 11\}\)。
讲师补充:
这是一个关于威尔逊定理推广 (Generalization of Wilson's Theorem) 的有趣应用。
对于 \(\mathbb{Z}_n^*\) 中所有元素的乘积,高斯证明了:\[\prod_{x \in \mathbb{Z}_n^*} x \equiv \begin{cases} -1 \pmod n & \text{若 } n = 4, p^k, 2p^k \\ 1 \pmod n & \text{其他情况} \end{cases} \]由于 \(12\) 不属于第一类情况,故其乘积为 \(1\)。\(|S|_{max} = \phi(12) = 4\)。
N8. 算法复杂度分析
原有内容:
\(a_i \leftarrow \max(0, a_i-1)\),\(l \le i \le r\) (\(a_i \le 100\))。维护 max + 暴力修改,总复杂度 \(O(100n \log n)\)。
讲师补充:
这里的核心思想是势能分析 (Amortized Analysis)。因为每个元素最多被减到 \(0\) 就不再变化,而初值最大为 \(100\),每个位置被有效修改的次数有限。配合线段树维护区间最大值,当 \(\max(a_i) = 0\) 时剪枝,可以达到该复杂度。
H3. 有限 Abel 群中阶的性质
原有内容:
\(G\) 为有限 Abel 群,\(a, b \in G\)。证明 \(\exists c \in G\) 使得 \(\text{ord}(c) = \text{lcm}(\text{ord}(a), \text{ord}(b))\)。
此题已出现过。核心思想:Abel 群若 \(|a| \perp |b|\) 则 \(|ab| = |a||b|\)(给典这里)。
\(|a| = \prod p_i^{\epsilon_i}\),要取其中 \(p_i^{\epsilon_i} \parallel \text{ord}(a)\),利用 \(\text{ord}(a^k) = \frac{\text{ord}(a)}{\gcd(\text{ord}(a), k)}\)。令 \(k = \frac{|a|}{p_i^{\epsilon_i}}\) 即可取得。此时可取得所有 \(a, b\) 中含有的阶 \(p_i^{\epsilon_i (\text{取max者})}\) 之元,利用引理取积即证。\(\square\)
讲师补充:
这个结论是有限交换群结构定理的基石之一。它保证了在一个有限 Abel 群中,存在一个元素的阶等于该群的 Exponent (群指数)。
关键步骤在于构造:若 \(|a| = p^k \cdot m\),则 \(a^m\) 的阶恰好为 \(p^k\)。
H7. 勒让德符号与二次剩余
原有内容:
设 \(p\) 是奇素数。证明:\(-1\) 是模 \(p\) 二次剩余当且仅当 \(p \equiv 1 \pmod 4\)。
考虑 \(\mathbb{Z}_p^*\) 中的 \(\varphi: x \longmapsto x^2\)。\(\ker \varphi = \{x^2 = e\} = \{1, -1\}\)。故 \(|\text{Im } \varphi| = \frac{p-1}{2}\)。
故 \(-1 \in \text{Im } \varphi \iff (-1)^{\frac{p-1}{2}} \equiv 1 \pmod p\)。即 \(\frac{p-1}{2}\) 为偶数 \(\Rightarrow p-1 = 2(2k)\)。
\(\therefore p = 4k+1\),因此 \(p \equiv 1 \pmod 4\)。\(\square\)
另一种思考:\(-1\) 是二次剩余 \(\iff 2 \text{ord}(-1) \mid p-1 \iff \text{ord}(-1) \mid \frac{p-1}{2} \iff (-1)^{\frac{p-1}{2}} = 1 \iff \frac{p-1}{2}\) 为偶数 \(\iff p \equiv 1 \pmod 4\)。
讲师补充:
你提供了两种非常棒的视角!第一种是群同态视角,第二种是阶 (order) 的视角。
实际上,这直接对应了 欧拉准则 (Euler's Criterion): \(\left(\frac{a}{p}\right) \equiv a^{\frac{p-1}{2}} \pmod p\)。对于 \(a=-1\),结论显而易见。
H8. CF1117D (组合计数与线性递推)
原有内容:
\(f_{n,m}\) 是用 \(1 \times 1\) 和 \(1 \times m\) 的矩形填满 \(1 \times n\) 的方法数。求 \(f_{n,m} \pmod{10^9+7}\) (\(n \le 10^{18}, m \le 100\))。
显然 \(f(n) = f(n-1) + f(n-m)\),\(f(0)=1, f(1)=1 \dots f(m)=2\)(注:应为到 \(f(m-1)=1, f(m)=2\))。
该矩阵的特征方程:\(x^m - x^{m-1} - 1 = 0\)。
根据 Cayley-Hamilton 定理:\(M^m - M^{m-1} - I = 0\)。
需计算 \(x^n \pmod{P(x)}\),\(P(x) = (x^m - x^{m-1} - 1)\)。
\(x^n = QP + R\),求出 \(R(x)\)。直接用二进制优化,复杂度 \(O(m^2 \log n)\)。
则 \(V_n = r_{m-1} M^{m-1} V_0 + r_{m-2} M^{m-2} V_0 + \dots + r_0 V_0\)
\(= r_{m-1} f(m-1) + \dots + r_0 f(0)\)。
复杂度 \(O(m^2 \log n)\),吊打标程 \(m^3 \log n\)!\(\square\)
讲师补充:
这里的优化非常精彩!你使用的是 波斯顿-森 (Bostan-Mori) 算法 或 常系数线性递推优化 的核心思想。
传统的矩阵快速幂是 \(O(m^3 \log n)\),而利用特征多项式进行多项式取模(Polynomial Modulo)可以将复杂度降至 \(O(m^2 \log n)\)。如果使用 FFT,甚至可以优化到 \(O(m \log m \log n)\),但在 \(m=100\) 时,\(O(m^2)\) 已绰绰有余。
H10. Carmichael 函数的引入
原有内容:
\(\lambda(n)\) 是 Carmichael 函数,定义为使 \(a^{\lambda(n)} \equiv 1 \pmod n\) 对 \(\forall a \in \mathbb{Z}_n^*\) 成立的最小正整数。
(人话:\(\lambda(n)\) 就是 \(\mathbb{Z}_n^*\) 的群指数 (\(\exp(\mathbb{Z}_n^*)\)))
证明:
- \(\lambda(n) \mid \phi(n)\)
- 证明 \(\lambda(2^k) = 2^{k-2}\) 对 \(k \ge 3\) 成立。
解:
根据 Abel 群指数定理,\(\lambda(n) = \max\{\text{ord}_n(a) : a \in \mathbb{Z}_n^*\} \mid \phi(n)\)。
第二问需使用著名的结论:\(\mathbb{Z}_{2^k}^* \cong C_2 \times C_{2^{k-2}}\)。显然得出结论,这里不证,因为超出进度太多。
讲师补充:
对于第二问,为什么 \(\mathbb{Z}_{2^k}^*\) 不是循环群(当 \(k \ge 3\))?
观察 \(5\) 的阶:可以证明 \(5^{2^{k-3}} \equiv 1 + 2^{k-1} \not\equiv 1 \pmod{2^k}\),而 \(5^{2^{k-2}} \equiv 1 \pmod{2^k}\)。
加上元素 \(-1\)(阶为 \(2\)),这两个子群的内直积构成了整个 \(\mathbb{Z}_{2^k}^*\)。
故其最大阶(指数)确实为 \(2^{k-2}\)。

浙公网安备 33010602011771号