Editorial for Funciones, de nuevo


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.

Como la composición de funciones es asociativa podemos aprovecharlo y crear un árbol de segmentos en el que cada hoja contiene la funcion compuesta de su intervalo correspondiente.


fun Comp( f(x)=ax+b, g(x)=cx+d ):
    return fog(x) = (ac)x + (ad+b)

Value(Node) = Comp(Value(Left), Value(Right))

Sabiendo eso las consultas, adiciones y actualizaciones son triviales.

Ojo que la composición es asociativa pero no siempre conmutativa!


Comments

There are no comments at the moment.