# Muraglia, non va la query

**URL:** <https://forum.olinfo.it/t/muraglia-non-va-la-query/8626>\
**Category:** Aiuto\
**Created:** [27 Novembre 2023, 1:21am UTC](https://forum.olinfo.it/t/muraglia-non-va-la-query/8626 "2023-11-27T01:21:44Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![qwfwq](https://forum.olinfo.it/user_avatar/forum.olinfo.it/qwfwq/32/2974_2.png) [@qwfwq](https://forum.olinfo.it/u/qwfwq)\
**Post date:** [27 Novembre 2023, 6:39pm UTC](https://forum.olinfo.it/t/muraglia-non-va-la-query/8626/5 "2023-11-27T18:39:25Z")

</div>

Ma N non è una potenze di 2^k \>= N!  
Nell’esempio con N = 14, nel costruttore deve venire N = 2^4 = 16.  
La tua query non funziona correttamente perché sia il metodo build(1, 0, N) e sia update(1. 0, N) usano l’intervallo aperto [1, N) mentre il metodo query(1, 0, N-1) usa l’intervallo chiuso [0, N-1]. In pratica devi usare per tutti i metodi lo stesso tipo di intervallo.  
Ti consiglio anche questa [ottima guida](https://forum.olinfo.it/t/introduzione-ai-segment-tree/8481) per la comprensione dei segment.

---

_[View the full topic](https://forum.olinfo.it/t/muraglia-non-va-la-query/8626)._
