- 假设有1063个类, 每个类有两个元素 p1,p2 ,求出所有的pair
思路1:类间组合
算法思维描述: 每个类只与其后面的类组合,每次类间组合产生1个正样本对,N*4个负样本对(4对应
p1q1,p1q2,p2q1,p2q2
)
第1个类:1(正样本对)+1062*4(负样本对)
第2个类:1(正样本对)+1061*4(负样本对)
…
第1062个类:1(正样本对)+1*4(负样本对)
第1063个类: 1(正样本对)
=>1+1062*4 + 1+1061*4 + …1+1*4 + 1
= 1063 + (1062+1061+1060 + …+1)*4
= 1063 + (1062+1)*(1062/2)*4
=1063+1063*1062*2
=1063*(1+1062*2)
排列组合描述:
样本对=正样本对+负样本对
=1063(正) + (1062+1061+1060 + …+1)*4
思路2:直接考虑元素间的组合
算法思维描述:
1063*2个元素,每个元素只与其后面的元素组合成pair
第1个元素:1063*2-1
第2个元素:1063*2-2
…
第1063*2-1个元素:1
(1063*2-1) + (1063*2-2) + … + 1
-> [(1063*2-1) + 1] * [ (1063*2-1) /2 ]
->1063*2*[ (1063*2-1) /2 ]
->1063*(1063*2-1)->1063*(1062*2+1)
排列组合描述:
C21063=1063×2×(1063×2−1)2