Initially, all the USVs are assigned states along the boundary polygon *B*_{A} of the region $Ap,d$. All states are labeled *open*. At this point, each USV $Ui\u2208Tn$ has claimed the state $si,init$ at which they are initialized. Each USV has claimed area $a(1,i)=1$. In order to partition the region $Ap,d$ into *n* convex shaped simply connected regions, it will be advantageous for each USV to select states that are connected and nearest to current state of the USV. Let $CUi$ be the cache of all the possible states that USV *U*_{i} can claim in next time-step by maintaining the convexity of the partitioned region $AUi$. Here, $AUi$ is the partitioned region for USV *U*_{i} and $Si$ is the set of all states belonging to region $AUi$. In the initial step, $Si$ will contain $si,init$, and $CUi$ will contain all the neighboring states provided by $Neigh(si,init)$. Let $c1,i$ denote the maximum number of states that USV *U*_{i} can claim at time-step *t* = 2. Clearly, $c1,i=Vd(si,init)$. The cache must have at least $c1,i$ states. Initially, cache of each USV, $CU(i)$, is empty so at time *t* = 1, neighbors of state $si,init$ are added to the cache $CU(i)$.