海贼007

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年7月3日

摘要: 菜鸟的思考步骤:1.设定当前时间为0,鱼往负方向游,这样可以把每个鱼看成在时间轴上的一个线段。t[a]=3,l[a]=4的鱼,看成是线段[3,7]。我们只需要确定找到两个点,使得抓到的鱼最多就行。2.首先想到的是找到两个公共线段A,B,使得在A,B处的鱼的鱼最多(当然得除去重复的)。3.公共线段上的时间点使等价的,这里可以用线段的顶点来表示该线段(因为线段的顶点一定是某个“鱼线段”的端点,想想还是能明白)。4.这样先把所有“鱼线段”的端点收集起来,然后随机选两个不同的点,算出与这两个点处的鱼数,找到其中最大的那个即可。5.时间复杂度:O((2n)^2*n)=O(n^3),算法多项式时间内有解。 阅读全文
posted @ 2013-07-03 15:28 wzhscript 阅读(235) 评论(0) 推荐(0) 编辑