我遇到了问题,在网上找不到太多帮助.我需要从多个数字向量中找到数字的最小成本组合.所有向量的向量大小相同.例如,请考虑以下事项:
row [0]: a b c d
row [1]: e f g h
row [2]: i j k l
Run Code Online (Sandbox Code Playgroud)
现在我需要通过从每一行中取一个元素即矢量来找到数字的组合,例如:aei
在此之后,我需要找到彼此不相交的其他三个组合,例如:bfj,cgk,dhl.我根据选择的这四种组合计算成本.目标是找到能够降低成本的组合.另一种可能的组合可以是:afj,bei,chk,dgl.如果列的总数是d并且行是k,则可能的总组合是d ^ k.行存储为向量.我被困在这里,我发现很难为上述过程编写算法.如果有人能提供帮助我真的很感激.
谢谢.
// I am still working on the algorithm. I just have the vectors and the cost function.
//Cost Function , it also depends on the path chosen
float cost(int a, int b, PATH to_a) {
float costValue;
...
...
return costValue;
}
vector< vector < int > > row;
//populate row
...
...
//Suppose
// row …Run Code Online (Sandbox Code Playgroud)