题解 P5091 【【模板】欧拉定理】】的更多相关文章

欧拉定理:若 \(gcd(a,n)=1\),\(a^{\varphi(n)}\equiv 1(mod\ n)\) 设 \(1\sim n-1\) 中与 \(n\) 互素的 \(\varphi(n)\) 个数 \(x_1,x_2,...,x_{\varphi(n)}\in M_1\),那么集合 \(M_1\) 为模 \(n\) 的一个缩系 再设 \(a\cdot x_1,a\cdot x_2,...,a\cdot x_{\varphi(n)}\in M_2\),由于缩系的性质,集合 \(M_2\)…
题解:kmp算法 代码: #include <iostream>#include <algorithm>#include <cstring>#include <stdio.h>using namespace std;const int maxn=1000;char str[maxn],pattern[maxn];int Next[maxn];int cnt;int getFail(char *p,int plen){    Next[0]=0;    Nex…
简单的替换一下字符串. 注意数组开大点. #include<bits/stdc++.h> const int maxm = 100; const int maxn = 100; using namespace std; char buf[maxm + 10][110]; struct tNode { char var[110]; char value[110]; }; tNode node[maxn + 10]; int main() { int m, n; scanf("%d%d&…
题目大意:求$a^b\bmod m(a\leqslant10^9,m\leqslant10^6,b\leqslant10^{2\times10^7})$ 题解:扩展欧拉定理:$$a^b\equiv\begin{cases}a^{b\bmod{\varphi(p)}} &(a,b)=1\\a^b &(a,b)\not=1,b<\varphi(p)\\a^{b\bmod{\varphi(p)}+\varphi(p)} &(a,p)\not=1,b\geqslant\varphi(…
[BZOJ3884]上帝与集合的正确用法(欧拉定理,数论) 题面 BZOJ 题解 我们有欧拉定理: 当\(b \perp p\)时 \[a^b≡a^{b\%\varphi(p)}\pmod p \] 否则 当\(b≥\varphi(p)\)时 \[a^b≡a^{b\%\varphi(p)+\varphi(p)}\pmod p \] 这道题里面\(2\)的无穷次方显然会比\(\varphi(p)\)大 所以,递归调用这个公式 因此每次\(p\)都会变成\(\varphi(p)\) 所以,\(\va…
[题目]D. Power Tower [题意]给定长度为n的正整数序列和模数m,q次询问区间[l,r]累乘幂%m的答案.n,q<=10^5,m,ai<=10^9. [算法]扩展欧拉定理 [题解]扩展欧拉定理的形式: $$a^b\equiv a^{b\%\varphi(p)+\varphi(p)} \ \ mod \ \ p \ \ (b\geq \varphi(p))$$ 特别注意当b<φ(p)且(a,p)≠1时不变. 假如现在是三个累乘幂a^(b^c),那么根据扩展欧拉定理: $$a^…
题目描述 给定一个只包含小写字母的字符串 \(S\) , 请你求出 \(S\) 的所有出现次数不为 \(1\) 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串 \(S\) 输出格式: 一个整数,为所求答案 输入输出样例 输入样例#1: abab 输出样例#1: 4 说明 对于 \(10\%\) 的数据, \(|S| \leq 1000\) 对于 \(100\%\) 的数据,\(|S| \leq 10^6\) 题解 SAM模板题 建出SAM后,统…
链接:E.简单数据结构1 题意: 给一个长为n的序列,m次操作,每次操作: 1.区间加 2.对于区间,查询 ,一直到- 请注意每次的模数不同.   题解:扩展欧拉定理降幂 对一个数p取log(p)次的欧拉函数等于1,故可将操作2的复杂度降到log(p),可以直接求解.用树状数组的小技巧,可以在log的时间直接求出当前的a[i].具体见代码. #include <bits/stdc++.h> using namespace std; ; const int INF = 0x3f3f3f3f; ;…
[BZOJ3224]Tyvj 1728 普通平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x,且最小的数) 输入 第一行为n,表示操作的个数,下面n行每行有两个数opt和x,opt表示操作的序号(1<=opt<=6) 输出 对于…
[UOJ#34]多项式乘法 试题描述 这是一道模板题. 给你两个多项式,请输出乘起来后的多项式. 输入 第一行两个整数 n 和 m,分别表示两个多项式的次数. 第二行 n+1 个整数,分别表示第一个多项式的 0 到 n 次项前的系数. 第三行 m+1 个整数,分别表示第一个多项式的 0 到 m 次项前的系数. 输出 一行 n+m+1 个整数,分别表示乘起来后的多项式的 0 到 n+m 次项前的系数. 输入示例 输出示例 数据规模及约定 0≤n,m≤105,保证输入中的系数大于等于 0 且小于等于…