07 2018 档案

摘要:题目:点击打开题目链接 思路:从左往右扫描,定义扫描左端点L,右端点R,保证每次往几何中添加的都是符合要求的连续的数列中的元素,L和R从0扫到n,复杂度为O(n),使用set维护子数列,set查找删除都是O(logn),所以复杂度为O(nlogn),应特别注意set内并不是原子数列顺序,若要删除子数 阅读全文
posted @ 2018-07-13 18:18 FanJiaming 阅读(153) 评论(0) 推荐(0)
摘要:题目:点击查看题目 思路:这道题的解决思路是极角扫描法。极角扫描法的思想主要是先选择一个点作为基准点,然后求出各点对于该点的相对坐标,同时求出该坐标系下的极角,按照极角对点进行排序。然后选取点与基准点形成的线对点进行扫描,基准线为遍历选取,扫描线扫过的点,减去基准线扫过的点即为所要求的点的数量。同时 阅读全文
posted @ 2018-07-12 20:43 FanJiaming 阅读(241) 评论(0) 推荐(0)
摘要:题目:点击打开题目链接 思路:考虑第一个村庄,如果第一个村庄需要买酒,那么a1>0,那么一定有劳动力从第二个村庄向第一个村庄搬酒,这些酒可能是第二个村庄生产的,也可能是从其他村庄搬过来的,但这一布我们只考虑这一步的劳动力需求。于是,在第二个村庄,我们可以忽略第一个,视为只有编号为2-n的村庄,第二个 阅读全文
posted @ 2018-07-11 22:36 FanJiaming 阅读(159) 评论(0) 推荐(0)
摘要:题目:点击打开题目链接 思路:为了满足所有的车不能相互攻击,就要保证所有的车不同行不同列,于是可以发现,行与列是无关的,因此题目可以拆解为两个一维问题,即在区间[1-n]之间选择n个不同的整数,使得第i个整数在区间[x, y]内,此问题可以通过贪心法解决,但需要注意选择合适的贪心策略。我的贪心方法是 阅读全文
posted @ 2018-07-11 18:01 FanJiaming 阅读(160) 评论(0) 推荐(0)
摘要:题目:点击打开题目链接 思路:暴力循环显然会超时,根据紫书提示,采取问题分解的方法,分成A+B与C+D,然后采取二分查找,复杂度降为O(n2logn) AC代码: 阅读全文
posted @ 2018-07-11 15:38 FanJiaming 阅读(186) 评论(0) 推荐(0)