某大型樱桃加工厂使用自动化机械扫描了一批樱桃的尺寸大小。现在获得了直径范围 [L,H] 各个区间所有的樱桃个数统计。现需通过 m 个等级(m<H−L)来筛选不同尺寸大小的樱桃,筛选后需使得各等级内的樱桃数量和的标准差最小。
输出长度为 m 的序列 B=[b0,b1,…,bm−1],其中:
某大型樱桃加工厂使用自动化机械扫描了一批樱桃的尺寸大小。现在获得了直径范围[L,H] 各个区间所有的樱桃个数统计。现在需要通过M 个等级(m<H−L)来筛选不同尺寸大小的樱桃,筛选后需使得各等级内的樱桃数目的标准差最小。
第一行输入两个数字,第一个数字表示樱桃的总组数n(2<n≤20),第二个数字m表示需要获取的等级数目a,2<a<n。
第二行输入一个长度为H−L+1 的数列A,,其中的第i个元素ai 表示直径为L+i 樱桃个数(i∈[0,H−L],0<ai<100)
输出长度为m的数列R ,其中的第 1个元素b0 表示顺序从A中取b0 个元素,将该尺寸范围内的樱桃作为一个分类等级;第2个元素b1 表示顺序从A中起始点b0 开始取b1 个元素,将该尺寸范围内的樱桃作为一个分类等级,依次类推
输入
10 4
16 40 37 20 18 30 18 60 50 37
输出
3 3 2 2
说明
顺序取数列 3个元素和为16+40+37=93 ;再顺序取数列3 个元素和20+18+30=68 ;再顺序取数列 2 个元素和10+60=78 ;再顺序取数列2 个元素和50+37=81 。[93,68,78,87] 的平均值为81.5 ,标准差为 $\sqrt{\frac{(93-81.5)^2+(68-81.5)^2+(78-81.5)^2+(87-81.5)^2}{4} } $,为所有筛选方案中的最小值。
输入
9 3
1 2 3 4 5 6 7 8 9
输出
5 2 2
说明
要把 9 组樱桃分为三组,使得三组樱桃数量和的标准差最小。顺序取数列5个元素和为1+2+3+4+5=15 ;再顺序取数列 2 个元素和6+7=13 ;再顺序取数列 2 个元素和8+9=17 。 [15,13,17]的平均值为15 ,标准差为3(15−15)2+(15−13)2+(15−17)2,为所有筛选方案中的最小值。