首页 > 其他分享 >二分板子

二分板子

时间:2024-04-05 11:45:01浏览次数:28  
标签:二分 std int cin mid 板子

二分板子

#include <iostream>

constexpr int N = 100;

int main(){
    int a[N];
    int n;
    std::cin >> n;
    for(int i=0; i<n; i++) std::cin >> a[i];
    int l = 0, r = n - 1;
    int t;
    std::cin >> t;

    while(l < r){
        int mid = (l + r) >> 1;
        if(t > a[mid]) l = mid + 1;
        else r = mid;
    }

    if(a[l] == t){
        std::cout << "Found it, Located in:" << l+1 << std::endl;
    }else{
        std::cout << "Not Found" << std::endl;
    }
}

标签:二分,std,int,cin,mid,板子
From: https://www.cnblogs.com/zhangfirst1/p/18115595

相关文章

  • 代码随想录算法训练营第一天 | 704.二分查找、27.移除元素
    704.二分查找文档讲解:代码随想录(https://www.programmercarl.com/)视频讲解:https://www.bilibili.com/video/BV1fA4y1o715/状态:704有思路但是不完善题目给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下......
  • 二分答案跳石头游戏
    步骤: 输入:用户输入了三个整数,分别表示石头的总长度l,石头的数量n,以及最多可以撤去的石头数量m。初始化石头位置数组:创建一个长度为n+2的数组arr,用于存储每块石头的位置。数组的第一项和最后一项分别表示起点和终点的位置,因此初始化为0和l。计算最小相邻石头间距:循环......
  • luoguP1024-二分
    题目链接实数二分:实数二分不存在边界问题,二分时可以设立循环次数或确立精度1.若存在2个数x1和x2,且x1<x2,f(x1)×f(x2)<0之间一定存在它的一个浮点数根2.且题目给定实根范围在-100~100之间,按位枚举方程=0时,显然x是方程的一个整数实根题目描述有形如:ax3+bx2+cx+d=0这样......
  • 代码随想录DAY1 | 二分,双指针移除元素
    代码随想录DAY1|二分,双指针移除元素题目描述给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且......
  • 代码随想录算法训练营第一天 | 数组 704.二分查找 27.移除元素
    leetcode704.二分查找题目704.二分查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。解题思路代码实现本题对自己的难点有大概的解题思路,但是代码实现有几个点写不出来1、怎么取......
  • 数论的各种板子2.0 (约数和 和 约数个数和)
    ​#include<bits/stdc++.h>//求约数和#include<map>usingnamespacestd;constintmod=1e9+10;typedeflonglongll;intmain(){ intn; cin>>n; unordered_map<int,int>primes; while(n--){ intx; cin>>x; for(inti=2......
  • 09-代码随想704二分查找
    704二分查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示......
  • 数论的各种板子1.0
    仅为了记录所学的知识.boolis_prime(intx){//求是否为素数 if(x<2)returnfalse; for(inti=2;i<=x/i;++i){ if(x%i==0)returnfalse; } returntrue;}voiddivide(intx){//分解质因子 for(inti=2;i<=x/i;++i){ ints=0; while(x%i==0)x/=i,s++; cou......
  • 银行贷款(二分)
    题目描述当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。输入格式三个用空格隔开的正整数。第一个整数表示贷款的原值 w0​,第二个整数表示每月支付的分期付款金额 w,第三个整数表示......
  • 状压dp板子(cf div4 #937)
    #include<bits/stdc++.h>usingnamespacestd;intn;vector<int>v[20];stringa[20],b[20];booldp[500010][20];voiddfs(ints,intnow){dp[s][now]=true;for(autonxt:v[now]){if(s&(1<<nxt))continue;......