【Dos puntos】 | Respuesta de dos puntos, dos puntos es la forma más utilizada, y también es la forma más práctica de usar

Tipo de respuesta de uno, dos puntos

Dicotomía, a menudo lo usamos para encontrar algo, pero también podemos usar este algoritmo simple para completar, recuperar algunas respuestas, la respuesta dicotómica es en realidad un método de recorrido, puede entenderlo como un método de recorrido A con una complejidad de tiempo de O ( log 2 n), antes que nada dijimos que también usa un rango de datos para el recorrido, es decir, al usar este algoritmo, respuestalasaberprimero O (nlog 2 n) , puede ejecutarse normalmente, en condiciones normales de datos.

También tenemos plantillas relacionadas para respuestas binarias. Toda la operación de encontrar el valor correcto es en realidad similar a la búsqueda binaria. Si está interesado, puede aprender primero sobre la búsqueda binaria y luego completar el aprendizaje de las respuestas binarias.

búsqueda binaria

Dos códigos de respuesta dicotómicos

La respuesta binaria es relativamente simple. Dividimos el código de la respuesta binaria en dos partes, una parte es una búsqueda especial en el tablero y la otra parte es una función de verificación relativamente característica .

1. Función de búsqueda de tableros

#include <iostream>
using namespace std ;

int bsearch_1 (int l ,int r )
{
    
    
    while ( l < r)
    {
    
    
        int mid = ( l + r ) >> 1 ;
        if(chech(mid))//检查条件要为成立的时候
            r = mid ;
        else 
        l = mid + 1 ;
    }
    return r ;
}
//前缀二分答案: 完成之后我们再看一下是,后缀的,也就是每次遍历之后都把l确定的代码
int bsearch_2 (int l , int r )
{
    
    
    while ( l < r )
    {
    
    
        int mid = ( l + r + 1 ) >> 1 ; 
        if(check (mid ))    l = mid ;
        else  r = mid - 1 ;  
    }
    return l ; 
} 

int main ()
{
    
    

    //完成数据的输入输出
    //最后导入数据的范围

    return 0 ;
}

Hemos aprendido algo de la búsqueda del tablero. Cuando no estamos seguros sobre el intervalo completo en la búsqueda, podemos expandir todo el intervalo y finalmente podemos obtenerlo. Por supuesto, nuestros datos deben ser secuenciales, por lo que podemos usar el idea de una respuesta binaria para resolverlo.

2, comprobar la función

La función de verificación es una función de verificación. Esta función es la clave para resolver el problema. Tiene una gran autonomía y está escrita de acuerdo con el tema.

Supongo que te gusta

Origin blog.csdn.net/wen030803/article/details/131736995
Recomendado
Clasificación