题目描述
ABC生日收到N支蜡笔,每支蜡笔的颜色是三原色红绿蓝的组合,第i个蜡笔的颜色用Ri表示红色,Gi表示绿色,Bi表示蓝色。
蜡笔i和蜡笔j的颜色差异定义为max(|Ri-Rj|,|Gi-Gj|,|Bi-Bj|),多支蜡笔的颜色差异定义为其中任意两个蜡笔颜色的最大差异值。
ABC想从N支蜡笔中选出K支出来,要求这K支蜡笔的颜色差异值最小。
50%的数据满足0<=Ri,Gi,Bi<=20;
80%的数据满足0<=Ri,Gi,Bi<=50;
100%的数据满足0<=Ri,Gi,Bi<=255,N<=100000
50分算法
用 s[R][G][B] 记录颜色值为 (R,G,B) 的蜡笔总数,然后枚举上界,统计答案即可。
80分算法
想到50分,就很容易想到80分的算法了。用一个前缀和就可以省掉一个枚举,轻松拿80分。
满分算法
当我们确定一个答案 ans