bzoj4869】的更多相关文章

[BZOJ4869]相逢是问候(线段树,欧拉定理) 题面 BZOJ 题解 根据欧拉定理递归计算(类似上帝与集合的正确用法) 所以我们可以用线段树维护区间最少的被更新的多少次 如果超过了\(\varphi\)的限制 就不用再计算了 如果需要计算就每次暴力算 这样的复杂度\(O(nlog^2)\) #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<…
由扩展欧拉定理,a^(a^(a^(……^x)))%p中x作为指数的模数应该是φ(φ(φ(φ(……p)))),而p取log次φ就会变为1,也即每个位置一旦被修改一定次数后就会变为定值.线段树维护区间剩余修改次数的最大值,暴力修改即可. 可以预处理出每个位置进行k次操作后的值.直接计算是log^3的,会被卡常.考虑类似bsgs的分块,将指数拆成<10000和10000m两部分,预处理后即可O(1)查询,避免每次快速幂. 注意当指数<φ(p)不能加φ(p). #include<iostream…
题目链接 BZOJ4869 题解 这题调得我怀疑人生,,结果就是因为某些地方\(sb\)地忘了取模 前置题目:BZOJ3884 扩展欧拉定理: \[c^a \equiv c^{a \mod \varphi(p) + [a \ge p]p} \pmod p\] 我们发现当我们进行\(0\)操作,就相当于在\(a\)底部添加一层\(c\) 当我们进行得足够多的时候,\(\varphi(p)\)就会取到\(1\),从而不再变化 所以每个位置操作次数其实是有限的,为\(O(logp)\)次 为何是\(O…
题面 传送门 Sol 摆定理 \[ a^b\equiv \begin{cases} a^{b\%\phi(p)}~~~~~~~~~~~gcd(a,p)=1\\ a^b~~~~~~~~~~~~~~~~~~gcd(a,p)\neq1,b<\phi(p)\\ a^{b\%\phi(p)+\phi(p)}~~~~gcd(a,p)\neq1,b\geq\phi(p) \end{cases}~~~~~~~(mod~p) \] 处理出\(p\)每次取\(\varphi\)取到\(1\)为止的\(\varphi…
http://www.lydsy.com/JudgeOnline/problem.php?id=4869 欧拉降幂+线段树,每个数最多降log次,模数就会降为1 #include<cmath> #include<cstdio> #include<iostream> using namespace std; #define N 50001 int n,m,p,c; int a[N]; ]; ]; ],phi[]; int ans; bool flag; void read…
这题是六省联考的...据说数据还出了点锅,心疼六省选手QAQ 首先要知道扩展欧拉定理... 可以发现每次区间操作都会使模数进行一次phi操作,而一个数最多取logp次phi就会变成1,这时后面的指数就没有用了,以后这个数的答案就不会变化了,也就是说一个数最多只会进行log次修改,那么我们就可以用线段树维护,如果某棵子数的最小操作次数达到了使模数变成1的次数我们就不需要修改了. 但是我们发现快速幂还有一个log,如果不优化的话三个log很有可能TLE.这个时候就有新操作了,底数是一定的c,指数最大…
Description BZOJ传送门 Solution 这题涉及到指数嵌套堆叠,可能可以用欧拉函数解决. 试想一个数\(a_i\)经过\(k\)次操作后会变成什么? \[ k个c\;\; \begin{cases} {c^{c^{a_i}}} \end{cases} \] 我们有扩展欧拉定理,\(a,x,p\)为任意正整数: \[ a^x \equiv \begin{cases} a^{x\;mod\;\varphi(p)+\varphi(p)}&x\ge\varphi(p)\\ a^x&…
Portal-->bzoj4869 Solution 这道题的话..长得就是线段树的样子qwq 如果做过的话..可能会联想到bzoj3211(没写博qwq晚点再说吧哈哈..) 首先大胆猜一波结论:这题跟3211一样也是修改到了一定程度就不会再有变化了!那然后写起来就是线段树暴力修改然后如果整个区间达到了修改上限的话那就不走了 然而这个上限是啥呢.. ​ 这里还是要用到扩展欧拉定理 \[ a^b\equiv \begin{cases} &a^{b\%\varphi(p)} &\gcd(…
4869: [Shoi2017]相逢是问候 Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 1313  Solved: 471[Submit][Status][Discuss] Description Informatikverbindetdichundmich. 信息将你我连结.B君希望以维护一个长度为n的数组,这个数组的下标为从1到n的正整数.一共有m个操作,可以 分为两种:0 l r表示将第l个到第r个数(al,al+1,...,ar)中的每…
http://www.lydsy.com/JudgeOnline/problem.php?id=4869 题面复制于洛谷:https://www.luogu.org/problemnew/show/P3747#sub 参考洛谷的前两篇(也是仅有的两篇)题解. 首先我们要知道一个公式: 这又被叫做扩展欧拉定理,证明我们并不关心. 有了扩展欧拉定理,我们就能够避免高精度从而求出对于任意一个数的0操作之后变成什么数了. (递归或者迭代选一个,递归好理解,迭代有助于理解下面的题解,而且常数小) 我们又有…