想要有一种数据结构,维护下列信息:
设 ai={p i=pk,p∈P,k∈N+1 othersa_i=\begin{cases}p\ \ \ \ \ \ \ i=p^k,p\in \mathbb{P},k\in\mathbb{N}^+\\1\ \ \ \ \ \ \ others\end{cases}ai={p i=pk,p∈P,k∈N+1 others
现在我们有一个值 mmm。
我希望支持两种操作:
给定 l,rl,rl,r,求 ∏i=lrai mod m\prod_{i=l}^r a_i\bmod m∏i=lraimodm。
给定 ccc,将 mmm 改为 ccc。
保证第二个操作最多执行 10410^4104 次。
q≤106q\le10^6q≤106。
其中 qqq 为操作次数。
你可以认为时限 5s5s5s,空间 1024MiB1024 MiB1024MiB。
允许离线,请问是否有好的做法?
n≤107n\le10^7n≤107,m≤1018m\le10^{18}m≤1018。
或者有没有办法可以缩小 qqq 为代价增加 nnn?
比如让 n≤109n\le10^9n≤109?