首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

在线散分,该怎么处理

2012-03-26 
在线散分一个从C1~Cn的序列,Ci与Cj之间的冲突为Cij,如何将它们分到m个桶里,使总体冲突最小(如:m25,n1000

在线散分
一个从C1~Cn的序列,Ci与Cj之间的冲突为Cij,如何将它们分到m个桶里,使总体冲突最小(如:m=25,n=1000)

[解决办法]

问题我没解决,说说思路:
(我假设全部的Cij> 0,Cii==0)如果全部放到一个桶里,那么冲突总量:
C12+C13+C14+...+C1n
+C23+C24+...+C2n
C(n-1)n
将所有的Cij排序,然后先大后小扫描。eg:假设C12最大,那么先把C1放在第一桶,C2放第二桶;
在m个桶全部使用后,对剩下的Cij:

问题转化:怎么放使Cij出现的数目最少(从大到小扫描Cij,放置Cj、Ci,避免Cj、Ci放到一起,直到不可避免地要使Cj、Ci放到一桶,)

热点排行