![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分
Freeman Z
都柏林理工大学博士录取
巴黎高等电子学院工程师录取
李莫瑞克大学硕士在读(主持爱尔兰软件研究中心)
重庆2022优秀毕业生
展开
-
[LeetCode]剑指 Offer 57. 和为s的两个数字
算法标签:双指针 二分 题目简叙 思路 遍历加二分用来勉强加速 n*logn 双指针 左右指针往中间逼近 没什么好说 o(n) 代码 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int>ans; for(int i=0;i<nums.size();i++){//遍历第一个值原创 2020-07-28 01:21:43 · 96 阅读 · 0 评论 -
[LeetCode]剑指 Offer 53 - II. 0~n-1中缺失的数字
算法标签:哈希 二分 题目简叙 思路 没什么好说的全都只有一个没在,那直接哈希走起来 代码 class Solution { public: int missingNumber(vector<int>& nums) { vector<int>arr(nums.size()+1); for(auto it:nums)arr[it]++; int res=0; for(int i=0;i<arr.原创 2020-07-28 00:38:11 · 139 阅读 · 0 评论 -
[LeetCode]剑指 Offer 11. 旋转数组的最小数字
算法标签 二分 题目简叙 思路 二分最优 但是这个二分我有点懵,标准板子似乎失效 代码 class Solution { public: int minArray(vector<int>& numbers) { int res=0x3f3f3f; for(auto x:numbers)res=min(res,x); return res; } }; class Solution { public:原创 2020-07-22 13:05:04 · 94 阅读 · 0 评论 -
[洛谷]P1873 砍树
算法标签 二分 题目简叙 思路 找高度的中间值 而不是中间树木的高度 代码 #include<iostream> #include<algorithm> using namespace std; const int N=1e6+10; typedef long long int LL; LL h[N]; int n,m; LL check(int Num) { LL sum=0; for(int i=0;i<n;i++)if(h[i]>Num)s原创 2020-07-20 15:05:05 · 441 阅读 · 0 评论 -
[计蒜客][二分]切割钢管
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 二分 题目描述 思路 我们要算最高数量,则要计算某一个高度,总共能被N个钢管切出K个来 计算一个钢管能切出多少只需要a[i]/NUM 只要计算一遍a数组即可,现在的目标转为了怎么求出目标值NUM 则我们需要用二分查找即可,直接极限值进行测试… AC代码 #include<iostream> using namespace std; const int N=1e4+10; int a[N]; int main() { in原创 2020-05-19 23:29:37 · 317 阅读 · 0 评论 -
[计蒜客][二分]开花
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 深度优先搜索 题目描述 思路 1.n,m的数量不一致 2.设定 a是文学奖,b是体育奖,我们以文学奖的顺序为标准,那么这里的文学奖的顺序则不能改变 3.数据复杂度到1e5,如果蛮力的话,就是1e5*1e5>2e9,所以我们需要优化, 4.我们的思路从蛮力 检查每一个a是不是都属于b,转换为降低复杂度 5.我们使用二分,降低蛮力检查所需要的时间, 6.二分的前提是有序的数列,因此我们需要先sort一遍体育奖获得者 7.二分检查a是不是在b即可原创 2020-05-19 21:53:43 · 304 阅读 · 0 评论