求集合的分割(划分)
划分
把一个分割的各个集合中的元素从大到小排序,然后再以集合的最小的元素对这些集合从大到小进行排序,
排在第一的集合对应1,第二的集合对应2,依次类推。对应一个分割,有一个编码与之对应,这个编码如下:
如果元素x属于i集合,则x的码值为i。对每一个元素求出其对应于一个分割的码值,将这些码值组合起来就
得到了这个分割的编码。
如:
{1,2}{3}{4} -> 1123 【表示元素1和2属于1集合,元素3属于2集合,元素4属于3集合】。
算法图示说明
< header >
#include<iostream>
#include<vector>
#include<iterator>
using namespace