# RangreTree1 (Flipping Coin)

**URL:** <https://forum.olinfo.it/t/rangretree1-flipping-coin/4516>\
**Category:** Aiuto\
**Created:** [24 Marzo 2017, 12:44pm UTC](https://forum.olinfo.it/t/rangretree1-flipping-coin/4516 "2017-03-24T12:44:11Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![dp\_1](https://forum.olinfo.it/user_avatar/forum.olinfo.it/dp_1/32/2635_2.png) [@dp\_1](https://forum.olinfo.it/u/dp_1)\
**Post date:** [24 Marzo 2017, 6:56pm UTC](https://forum.olinfo.it/t/rangretree1-flipping-coin/4516/3 "2017-03-24T18:56:05Z")

</div>

Una maniera più compatta di fare la stessa cosa è usando lo xor:

```
lazy[nodo * 2 + 1] ^= 1;
lazy]nodo * 2 + 2] ^= 1;

```

Facendo lo xor con 1 inverti il valore del primo bit, che alla fine è l’unico che usi.

Dario

---

_[View the full topic](https://forum.olinfo.it/t/rangretree1-flipping-coin/4516)._
