随笔分类 - 技巧--二分/三分
摘要:三分查找,用来比较不同坐标处值的大小关系(比较的这两点通常是分布在极值点两侧的),来确定区间内的极值。 三分应用于最优化问题的求解。在解题时没必要给出证明,只要知道问题不满足单调性,就可以尝试用三分搜索极值点,而且三分整数很少见,因为除非能够证明这种策略是正确的(即完全符合凸函数的性质,但是通常极值
阅读全文
摘要:题目链接:http://codeforces.com/contest/670/problem/D2 题意: 你的蛋糕需要n个原材料,你现在有k个魔法材料,魔法材料可以转化为任何材料 现在告诉你蛋糕每个材料需要多少,以及你现在有多少个 问你最多能够做出多少个蛋糕来 思路: 直接二分就好了,注意加起来会
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/602/B 题意: 给你一个相邻数差不超过 1 的序列,求最长子串的长度,满足子串中的最大值减最小值也不超过 1。 思路: 区间最大值,区间最小值分别用ST表去维护就可以了,然后之后去二分答案就好了
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/1007/A 题目大意:就是给出长度为n的序列(a[i]),让你对它进行重新排序(b[i]),使b[i]>a[i] 的数目最多 思路: 二分就是了,找到第一个大于key的就是最完美的选择(但是要注意如果选过的
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/978/C 题目的意思:告诉你几个宿舍,然后每个宿舍有多少个房间,每个房间的编号是一次从第一个加起来的,现在给你一些信封,信封上只有房间号,现在让我们判断这个房间是属于哪个宿舍,在这个宿舍里他是第几个房间。
阅读全文
摘要:【二分查找】 二分查找是一个基础的算法,也是面试中常考的一个知识点。二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键,就在左子数组继续查找;如果大于中间键,就在右子数组中查找,否则中间键就是要找的元素。 常规的二分查找: 这里强调下不要忘记 left <= right 的等号
阅读全文

浙公网安备 33010602011771号