Uva1606 Amphiphilic Carbon Molecules【例题8-6】【极角扫描法】【不懂!】

题目:Amphiphilic Carbon Molecules

题意:平面上有nn≤1000)个点,每个点为白点或者黑点。 现在需放置一条隔板,使得隔板一侧的白点数加上另一侧的黑点数总数最大。 隔板上的点可以看作是在任意一侧。

思路:枚举基准点,作为分隔线上一点,然后再扫描相对基准点的点,将扫描的点都相加起来,只需扫白的一半,因为处理的时候将黑点旋转180后就只需记录一侧的点即可。

(1)枚举平面上的每一个点作为基准点;

(2)将剩余点相对应基准点计算出各个点后存放到数组中,并且将黑点的坐标旋转180后(如果在当前侧被旋转了另一侧,如果在另一侧正好转到此侧了!),这样只需统计一侧的所有点即可,不用考虑黑白点了。然后按各个点的方位角(与x轴夹角)递增排序;

(3)开始扫描计数:用变量l代表分隔点,r代表扫描点,r进行累加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值