Given any compact, closed non-convex body $K \subset \mathbb{R}^n$ (containing NO holes!), is there a set of $N$ compact convex closed bodies, $\left\lbrace C_i \right\rbrace_{i=1}^N$ (where for every $i \in [N]$, $C_i \subset \mathbb{R}^n$), such that $K = \cup_{i=1}^N C_i$ and $C_i \subset K$ for every $i \in [N]$?
Note that $N$ can varies depending on $K$!
Please advise and thanks in advance.
Let $B(r)$ be the open ball of radius $r$ centered at origin and $H$ be the upper half-space.
Start from closed ball $\bar{B}(2)$, remove open ball $B(1)$ and intersect with $H$, the resulting figure
$$K = ( \bar{B}(2) \setminus B(1) ) \cap H = \{ (x,y,z) \in \mathbb{R}^3 : 1 \le x^2 + y^2 + z^2 \le 2 \land z \ge 0 \}$$
is a compact non-convex body in $\mathbb{R}^3$ which doesn't contain any "holes". In particular, $K$ contains the unit circle in $xy$-plane
$$S^1 = \{ (x,y,0) \in \mathbb{R}^2 \times \{0\} : x^2 + y^2 = 1 \}$$
It is easy to see $K$ is disjoint from the disk $D = \{ (x,y,0) : x^2+y^2 < 1\}$ "bounded" by $S^1$.
If $K$ equals to the union of a bunch of compact convex body $C_1, \ldots, C_n$, then $$S^1 \subset K = \bigcup_{i=1}^n C_i$$ Since $S^1$ has infinitely many elements, one of the $C_i$ contains more than two points from $S^1$. Let's say $v_1, v_2 \in S^1 \cap C_1$. Since $C_1$ is convex, their mid-point $m = \frac12 (v_1 + v_2) \in C_1$. It is easy to see $m \in D$. This implies $m \in \left(\bigcup_{i=1}^n C_i\right) \setminus K = \emptyset$ which is absurd.
As a result, $K$ does not equal to the union of any finitely many compact convex bodies.