No exactamente.
Por un lado, puede reemplazar el árbol de Fenwick con un árbol de segmentos y lograr la misma complejidad, mientras que no siempre puede reemplazar el árbol de segmentos con el árbol de Fenwick, porque el árbol de segmentos es un instrumento más poderoso que admite más operaciones diferentes.
Por otro lado, en la programación competitiva es posible que no pueda sustituir la solución de árbol Fenwick con un árbol de segmento y obtener AC. La constante oculta detrás del árbol de segmentos es mucho más alta, también requiere más memoria. Por lo tanto, es posible que su solución de CA obtenga TL / ML cuando intente implementarla con el árbol de segmentos. En algunos casos, significa que la parte restante de la solución no es lo suficientemente óptima (es decir, todavía es posible obtener AC con el árbol de segmentos en caso de que implemente todo con cuidado), en otros casos verá editorial con “no queremos ver que las soluciones de árbol de segmentos obtenían AC y el límite de tiempo era tan estrictamente intencional “ .
- Cuando se ejecuta el ordenamiento rápido aleatorio, ¿cuántas llamadas se realizan al generador de números aleatorios en el peor de los casos? ¿Y también para el mejor caso?
- ¿Puede un gráfico ser un circuito de Euler y una ruta al mismo tiempo?
- Si todos los códigos de computadora son 0s y 1s, ¿cómo reconoce y entiende la computadora estos símbolos en primer lugar?
- ¿Qué significa la recursividad en matemáticas?
- ¿De qué sirve el hashing en C?