explain divide and conquer approach in algorithm