Color it
题意
给你一个表格样,再给出m个圆,满足式子:$\sqrt{(i-x_c)^2+(j-y_c)^2}\le{r}$ 的,都要染成黑色,问你最后没有被染色的格子数。
思路就是简单模拟一下扫描线的操作,可以先对每一个圆,处理出圆内列对应的扫描线的长度,存在相应的列中。然后再遍历每一列,对于列中存在的扫描线,按照l小r大排序,然后如果这个区间的l要大于上个区间的r,ans就减去this.r-this.l+1,否则如果this.l<last.r,并且this.r>last.r,就this.r-last.r(不加1因为last.r已经算过),如果this.r<last.r,则不必再计算。
看!代码
1 |
|