一道思维题。
首先题目上有 1 ≤ b i , j ≤ 16 1 \leq b_{i,j} \leq 16 1≤bi,j≤16,而要求 b i , j ∣ a i , j b_{i,j} \mid a_{i,j} bi,j∣ai,j,因此我们可以求一下 [ 1 , 16 ] [1,16] [1,16] 内所有整数的 lcm \operatorname{lcm} lcm:
lcm ( 1 , 2 , . . . , 16 ) = 720720 < 1000000 \operatorname{lcm}(1,2,...,16)=720720<1000000 lcm(1,2,...,16)=720720<1000000
因此我们可以考虑对要求的 a i , j a_{i,j} ai,j 做一个黑白染色(就类似于国际象棋的棋盘),黑色格子旁边全是白色格子,白色格子旁边全是黑色格子。
对于所有黑色格子,直接填上 720720 就好,对于白色格子,可以考虑暴力枚举差值 k 4 k^4 k4,然后判断结果是否能够整除 b i , j b_{i,j} bi,j。
由于 3 2 4 > 1000000 32^4>1000000 324>1000000,因此复杂度为 O ( 31 n m ) O(31nm) O(31nm)。
Code:Github CodeBase-of-Plozia CF1485D Multiples and Power Differences.cpp