matlab组合数的一些处理
近期在做2021年妈妈杯(数维杯)C题,其要解决的问题大概是数学组合问题,故想用matlab利用穷举法进行解决,但发现解决效果不好,但可以解决另一类问题,原问题如下:
运动会期间,将一个大学的各学院进行分组,但各学院的男女人数与人数并不是均匀的,想得到一种分组使组完对后使组完后的人数与男女人数尽可能的平均。
我解决不了该问题,只能求其一类解:在人数尽可能平均的情况下在再其中筛选出男女尽可能平均。
(因为无法解决一维数组进行不重复的进行两两组合。如给定数组A=[1,2,7,3,4,8];我想得到a1=[12 73 48],a2=[17 23 48]…)
此中我对平均的定义为,各组数据标准化(包括总人数与男女比例)后,求其方差,然后将总人数的方差差与男女比例的方差进行加权后,再求其倒数得到平均指数,平均指数越大,即分组越平均(越合理)
我将我的做法进行阐述,解决(在人数尽可能平均的情况下在再其中筛选出男女尽可能平均。)
我将该组数据从大到小进行排列,若只考虑两两分组的情况下,若一共有2n+1个数据,则将其最大分为一组,然后剩下的将前n个分为A组,后n个分为B组,容易想到,将A组与B组进行不重复的两两组和,其总人数是比较平均的。