HDU 3074 Multiply game 逆元 树状数组

来源:互联网 发布:js 封装callback函数 编辑:程序博客网 时间:2024/06/05 16:25

题意:

 求一个区间内所有数的积模一个素数的值,会动态改变其中的值。

题解:

 可以用线段树,网上大部分搜到的都是线段树。

 YY的一个方法:对所有数取对数,放进树状数组里,对于求[l,r]的积可以e^( (q(r)-q(l-1)) fmod log(MOD) ),极大的精度误差基本上一个点都过不了,= =!

 多校的解题报告里:

   对于求[l,r]的积可以q(r)*inv(q(l-1)),inv(x)为求x关MOD的逆元,注意更新的时候也是把(待更新的值*原值的逆元)更新进去。

原创粉丝点击