唯一的题解做法有点太深刻了,根本不知道怎么想到的。这边提供一个有前途但是细节没有进行讨论的思路供读者参考。如果有人完善了这个思路或者证明其没有前途欢迎到评论区发表你的成果。
经打表猜测当 $n\geq 3$ 时都有解,考虑如何构造。
约定我们的运算表是 $[0,n-1]\times [0,n-1]\rightarrow [0,n-1]$ 的。不难注意到我们可以按照如下方式消去 $n-1$:
- 对于第 $n-1$ 行第 $j$ 列,填上 $j$。
- 对于第 $i$ 行第 $n-1$ 列,填上 $i$。
这样共计 $3n^2-3n+1$ 个和 $n-1$ 相关的三元组均合法。于是当 $k\geq 3n^2-3n+1$ 时,可以递归到 $n-1$ 规模的问题。
不能递归当且仅当 $k\leq 3n^2-3n$,我们进行如下构造:
- 对于第 $0$ 行第 $0$ 列,填上 $0$。
- 对于第 $0$ 行第 $i$ 列,填上 $f(i)$。
- 对于第 $i$ 行第 $0$ 列,填上 $g(i)$。
- 对于第 $i$ 行第 $j$ 列,填上 $i\bmod (n-1)+1$。
其中 $f(i)$ 和 $g(i)$ 是自由元,其范围为 $[1,n-1]$。
可以证明,任何不含 $0$ 的三元组均不合法。于是合法的三元组必然有 $0$。
对 $0$ 在三元组中的位置分类讨论,可以得到如下结果:
- $(0,0,0)$ 永远合法。
- 对于 $f(a)+1=f(a+1)$ 的 $a$,对答案产生 $n-1$ 的贡献。
- 对于 $g(a)=a$ 的 $a$,对答案产生 $2n-2$ 的贡献。
- 对于 $f(a)=f(f(a))$ 的 $a$,对答案产生 $1$ 的贡献。
- 对于 $g(a)=g(g(a))$ 的 $a$,对答案产生 $1$ 的贡献。
- 对于 $f(g(a))=g(f(a))$ 的 $a$,对答案产生 $1$ 的贡献。
其中加法定义下 $[1,n-1]$ 循环意义下。
除最后一条限制外 $f,g$ 独立,不难发现其可以取到几乎所有可能取到的值,而 $f(g(a))=g(f(a))$ 由于 $f,g$ 的构造均可以非常不对称,其在 $f(a)\neq a$ 且 $g(a)\neq a$ 时条件相当苛刻,因此或许有简单的解决方式使 $f,g$ 独立。
因此我们猜测,该形式构造可以满足 $[1,3n^2-3n]$ 中的绝大多数值,当答案接近 $0$ 或 $3n^2-3n$ 时,可能有少量值无法满足。而究竟有哪些值可以由此构造生成仍需更精细的讨论,然而我太懒分析不动,于是把思路放在这里希望有人能完善 or 得到启发/kel/kel/kel