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.
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