Codeforces Round #185 (Div. 1)

Codeforces Round #185 (Div. 1)

A题:计算一个坐标系中n个点中,距离最短的两个点的距离。Tiny同学想到了一种很挫的方法,枚举一个点i,再从i+1到n枚举另一个点j,如果发现j的横坐标与x的很坐标的差大于之前所有的的最小距离,就break掉j的枚举。然后问你,是否能构造一种数据,让他的这个算法超时,超时的概念是,枚举的总次数大于给出的一个m。

解题:首先可以算一算,他这个解法的复杂度是n*(n-1)/2,如果m大于这个值,那显然不会超时了,否则就是会超时的。那么怎么来构造这个数据呢?注意到,他break的条件是x之间的差值大于最小距离差,所以我们就使得所有点的x差值永远小于距离差就好了,所以x取0,y取0,2,4,6,7...这样就好了。

代码:

 
B题:这题很不错,我单独写在另一篇博文里了,请移步:CF185 div1 B. Cats Transport(单调队列斜率优化dp)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值