Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
algoritmos-oia:busqueda-binaria-separadora [2018/01/19 15:02] santo [Búsqueda binaria separadora] |
algoritmos-oia:busqueda-binaria-separadora [2025/05/01 02:46] (actual) santo [Solución trivial] |
||
---|---|---|---|
Línea 7: | Línea 7: | ||
La [[algoritmos-oia:busqueda-binaria|búsqueda binaria]] "común" sirve para encontrar el "corte" en una propiedad binaria. Es decir, si tenemos una función $f$ **monótona**, que a cada entero le asigna un valor binario $0$ o $1$, búsqueda binaria sirve para encontrar el primer 1. | La [[algoritmos-oia:busqueda-binaria|búsqueda binaria]] "común" sirve para encontrar el "corte" en una propiedad binaria. Es decir, si tenemos una función $f$ **monótona**, que a cada entero le asigna un valor binario $0$ o $1$, búsqueda binaria sirve para encontrar el primer 1. | ||
- | La situación que sea plantea aquí corresponde a encontrar los hasta $K-1$ posibles "cortes" de una función $K$-aria, es decir, que toma valores enteros en el rango $[0,K)$. Una manera de dar los cortes sería por ejemplo, dar el menor valor de $x$ tal que $f(x) \geq 1$, el menor valor de $x$ tal que $f(x) \geq 2$, y así hasta $K-1$, que es el máximo posible. | + | La situación que se plantea aquí corresponde a encontrar los hasta $K-1$ posibles "cortes" de una función $K$-aria, es decir, que toma valores enteros en el rango $[0,K)$. Una manera de dar los cortes sería por ejemplo, dar el menor valor de $x$ tal que $f(x) \geq 1$, el menor valor de $x$ tal que $f(x) \geq 2$, y así hasta $K-1$, que es el máximo posible. |
==== Solución trivial ==== | ==== Solución trivial ==== | ||
Línea 13: | Línea 13: | ||
Siempre podemos recorrer todos los $N$ valores de $x$ para buscar en una pasada todos los $K$ puntos de corte. Esto toma $O(N)$ evaluaciones de la función. | Siempre podemos recorrer todos los $N$ valores de $x$ para buscar en una pasada todos los $K$ puntos de corte. Esto toma $O(N)$ evaluaciones de la función. | ||
- | En adelante, asumiremos siempre que $N$, la cantidad posible de valores de $x$, es bastante mayor que $K$, pues sino no hay nada considerablemente mejor que este barrido exhaustivo. | + | En adelante, asumiremos siempre que $N$, la cantidad posible de valores de $x$, es bastante mayor que $K$, pues si no no hay nada considerablemente mejor que este barrido exhaustivo. |
==== Solución razonable ==== | ==== Solución razonable ==== | ||
Línea 192: | Línea 192: | ||
Otro problema relacionado con estas ideas es [[http://ioinformatics.org/locations/ioi07/contest/day1/aliens.pdf|Aliens]], de la IOI 2007. | Otro problema relacionado con estas ideas es [[http://ioinformatics.org/locations/ioi07/contest/day1/aliens.pdf|Aliens]], de la IOI 2007. | ||
+ | |||
+ | Otro problema donde este método ayuda a realizar menos consultas y obtener más puntos es en [[https://www.oia.unsam.edu.ar/wp-content/uploads/2025/04/hormigas.pdf|Hormigas]], del Certamen de Selección 2025. | ||
+ | |||
+ |