The unnormalized cost is just a number that is hard to interpret.  The normalization that I'm computing converts the cost to a more interpretable value.  To do that, I need to compute the "alone" (not joint) segment costs and add them all up.

If the cost matrix is M_{i, j} = computeJointSegmentCosts(segments[i], segments[j]), the normalization is to divide by the sum of the diagonal entries (the trace of the matrix M).