二分
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 · 104 阅读 · 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 · 148 阅读 · 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 · 99 阅读 · 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 · 450 阅读 · 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 · 331 阅读 · 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 · 316 阅读 · 0 评论