Two-Coloring Overlapping Circles
Mathematica, 165 bytes

ContourPlot[Cos@Tr[Boole[Norm[{x,y}-#2]&lt;#]Pi&amp;@@@#4],{x,0,#},{y,0,#2},PlotPoints-&gt;5!,AspectRatio-&gt;Automatic,Frame-&gt;False,ContourShading-&gt;RGBColor@@@#3,Contours-&gt;{0}]&amp;


Pure function taking four arguments: the width, the height (both integers), an ordered pair of triples of numbers between 0 and 1 (representing the two RGB colors), and a list of items of the form {r, {x, y}} to record the radii and centers of the circles. For example, the first example in the OP would be called with the arguments [300, 200, {{1, 0.784, 0}, {0.5, 0, 1}}, {{25, {50, 80}}, {40, {80, 120}}, {300, {-100, 6}}, {17, {253, 162}}}]. The positive y-axis points upwards in Mathematica.

Norm[{x,y}-#2]&lt;# detects whether a point is inside a given circle; Boole[...]Pi converts that True or False to π or 0. After computing those πs/0s over all the input circles, Tr adds them up and Cos converts even multiples of π to 1, odd multiples of π to –1. ContourPlot[...,Contours-&gt;{0}] then colors the appropriate region of the plane in two colors depending on whether the value is greater or less than 0. AspectRatio-&gt;Automatic makes circles look like circles; PlotPoints-&gt;5! gives a decent accuracy (boost it to 9! if you really want an amazing picture, far in the future!); Frame-&gt;False gets rid of the axes; and ContourShading-&gt;RGBColor@@@#3 uses the input colors for the contours.

Sample output, with the first pair of colors (since they're nice) but the last set of circles: