KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) E - Patisserie ABC 2
题意
将 n 3 n^3 n3个三元组 ( i , j , k ) , 1 ≤ i , j , k ≤ n (i,j,k),1\le i,j,k\le n (i,j,k),1≤i,j,k≤n进行排序,问第 k k k个三元组是什么
排序先按总和 i + j + k i+j+k i+j+k进行排序,小的在前
相同和的情况下按 i → j → k i\rightarrow j\rightarrow k i→j→k的顺序比对大小,小的在前(字典序小的在前)
思路
打表找规律,先按和进行分组,可得对于前几个 n n n,和为 j ∈ [ 3 , 3 ∗ n ] j\in[3,3*n] j∈[3,3∗n]的三元组数量如下
n = 2 : 1 , 3 , 3 , 1 n = 3 : 1 , 3 , 6 , 7 , 6 , 3 , 1 n = 4 : 1 , 3 , 6 , 10 , 12 , 12 , 10 , 6 , 3 , 1 n = 5 : 1 , 3 , 6 , 10 , 15 , 18 , 19 , 18 , 15 , 10 , 6 , 3 , 1 n = 6 : 1 , 3 , 6 , 10 , 15 , 21 , 25 , 27 , 27 , 25 , 21 , 15 , 10 , 6 , 3 , 1 n = 7 : 1 , 3 , 6 , 10 , 15 , 21 , 28 , 33 , 36 , 37 , 36 , 33 , 28 , 21 , 15 , 10 , 6 , 3 , 1 \begin{aligned} n=2:&\ 1,3,3,1\\ n=3:&\ 1,3,6,7,6,3,1\\ n=4:&\ 1,3,6,10,12,12,10,6,3,1\\ n=5:&\ 1,3,6,10,15,18,19,18,15,10,6,3,1\\ n=6:&\ 1,3,6,10,15,21,25,27,27,25,21,15,10,6,3,1\\ n=7:&\ 1,3,6,10,15,21,28,33,36,37,36,33,28,21,15,10,6,3,1\\ \end{aligned} n=2:n=3:n=4:n=5:n=6:n=7: 1,3,3,1 1,3,6,7,6,3,1 1,3,6,10,12,