题解 - [Luogu P3923] 大学数学题
原始题面
题目背景
琪露诺:我知道了!答案一定是 1!
露米娅:什么鬼啊 (汗), 你还是再想想去吧... 我先把最后一道题给你,这是一道大学数学题哦
题目描述
露米娅:大妖精想构造一个 \(n\) 元有限域,元素用 \(0 \sim n - 1\) 的整数表示 有限域需要满足以下条件
- 有加法单位元 \(o\), 满足对于任意元素 \(a\), \(o + a = a + o = a\)
- 对于任意元素 \(a\), 存在加法逆元 \(a^{-1}\), 使得 \(a + a^{-1} = a^{-1} + a = o\)
- 有不同于加法单位元 \(o\) 的乘法单位元 \(i\), 满足对于任意元素 \(a\), \(i \times a = a \times i = a\)
- 对于任意非加法单位元元素 \(a\), 存在乘法逆元 \(a^{-1}\), 使得 \(a \times a^{-1} = a^{-1} \times a = i\)
- 对于任意元素 \(x\), \(y\), 有加法交换律,即 \(x + y = y + x\)
- 对于任意元素 \(x\), \(y\), 有乘法交换律,即 \(x \times y = y \times x\)
- 对于任意元素 \(x\), \(y\), \(z\), 有加法结合律,即 \((x + y) + z = x + (y + z)\)
- 对于任意元素 \(x\), \(y\), \(z\), 有乘法结合律,即 \((x \times y) \times z = x \times (y \times z)\)
- 对于任意元素 \(x\),\(y\),\(z\), 有乘法分配律,即 \((x + y) \times z = x \times z + y \times z\)
大妖精当然会做啦,但是他想考考你
在输出中加法单位元 \(o\) 即为 \(0\), 乘法单位元 \(i\) 即为 \(1\)
输入输出格式
输入格式
一个正整数 \(n\)
\(2 \leq n \leq 350\)
输出格式
第一行输出一个正整数 \(k\), 若存在 \(n\) 元有限域则 \(k = 0\), 否则 \(k = -1\)
若 \(k = 0\) 则
- 接下来 \(n\) 行输出一个 \(n\) 元有限域的加法表,第 \(i + 1\) 行第 \(j + 1\) 列上的数代表有限域中 \(i + j\) 的运算结果
- 接下来 \(n\) 行输出一个 \(n\) 元有限域的乘法表,第 \(i + 1\) 行第 \(j + 1\) 列上的数代表有限域中 \(i \times j\) 的运算结果
共输出 \(n \times 2 + 1\) 行
upd1:SPJ 非常严格,请不要在行末输出多余空格
(答案文件末尾的换行还是会自动忽略的)
upd2: 正解文件比较大,洛谷可能会一直 judging...
如果遇到这种情况请直接提交源代码
输入输出样例
输入样例 #1
1 | 2 |
输出样例 #1
1 | 0 |
说明
测试点 | [\(n\) 的范围] | 特殊性质 |
---|---|---|
1 | [\(n = 3\)] | \(n\) 是质数 |
2 | [\(n = 4\)] | \(n\) 是 2 的整数次方 |
3 | [\(n = 6\)] | 无 |
4 | [\(n = 8\)] | \(n\) 是 2 的整数次方 |
5 | [\(n = 9\)] | 无 |
6 | [\(n = 19\)] | \(n\) 是质数 |
7 | [\(n = 89\)] | \(n\) 是质数 |
8 | [\(n = 181\)] | \(n\) 是质数 |
9 | [\(n = 233\)] | \(n\) 是质数 |
10 | [\(n = 25\)] | \(n\) 是质数的平方 |
11 | [\(n = 121\)] | \(n\) 是质数的平方 |
12 | [\(n = 169\)] | \(n\) 是质数的平方 |
13 | [\(n = 27\)] | 无 |
14 | [\(n = 143\)] | 无 |
15 | [\(n = 128\)] | \(n\) 是 2 的整数次方 |
16 | [\(n = 81\)] | 无 |
17 | [\(n = 125\)] | 无 |
18 | [\(n = 243\)] | 无 |
19 | [\(n = 256\)] | \(n\) 是 2 的整数次方 |
20 | [\(n = 343\)] | 无 |
题意简述
构造一个 \(n\) 元有限域 \(\mathbb{E}_n\), 不存在时输出 -1
解题思路
抽代题是吧... 我直接进行一个定理的摆
我们称没有真子域的域为素域
首先域的特征要么为 \(0\), 要么为素数 \(p\), 进一步我们有
令 \(n\) 元有限域为 \(\mathbb{E}_n\), 显然其特征必为素数,故 \(n=6\) 和 \(n=143\) 的情况直接输出 -1
即可
记 \(\mathbb{E}_n\) 的素域为 \(\mathbb{F}_p\), 其中 \(p\) 为 \(\mathbb{E}_n\) 的特征
故其他数据点均可以构造
首先,我们知道,\(\forall p\in\text{Prime}^+\), \((\mathbb{Z}_p,+,\cdot)\) 为一个域
接下来我们尝试构造素数幂次阶的有限域
我们将 \(\mathbb{F}_p[x]/\lang p(x)\rang\) 中的多项式看作 \(p\) 进制数,不难发现这个操作是同构映射,故这题我们就做完了
代码参考
Show code
1 | """ |