当前位置: 首页 > news >正文

能够做数据地图的网站油烟机seo关键词

能够做数据地图的网站,油烟机seo关键词,seo关键词排名系统,网络维护欧拉函数 给定 n 个正整数 ai#xff0c;请你求出每个数的欧拉函数。 欧拉函数的定义1∼N 中与 N 互质的数的个数被称为欧拉函数#xff0c;记为 ϕ(N)。 若在算数基本定理中#xff0c;Np1a11p2a2…pmm#xff0c;则#xff1a;ϕ(N) Np1−1/p1p2−1/p2…pm−1/pm 输…欧拉函数 给定 n 个正整数 ai请你求出每个数的欧拉函数。 欧拉函数的定义1∼N 中与 N 互质的数的个数被称为欧拉函数记为 ϕ(N)。 若在算数基本定理中Np1a11p2a2…pmm则ϕ(N) N×p1−1/p1×p2−1/p2×…×pm−1/pm 输入格式 第一行包含整数 n。 接下来 n 行每行包含一个正整数 ai。 输出格式 输出共 n 行每行输出一个正整数 ai 的欧拉函数。 数据范围 1≤n≤100,1≤ai≤2×109 输入样例 3 3 6 8输出样例 2 2 4问题分析 欧拉函数 对于正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目记作φ(n) φ(1)1 求n的欧拉值 首先 欧拉函数是一个积性函数当m,n互质时φ(mn)φ(m)∗φ(n) 代码 #includebits/stdc.h using namespace std; int phi(int x) {int resx;for(int i2;ix/i;i)if(x%i0){resres/i*(i-1);while(x%i0) x/i;}if(x1) resres/x*(x-1);return res; } int main() {int n;cinn;while(n--){int x;cinx;coutphi(x)endl;} }筛法求欧拉函数 问题描述 给定一个正整数 n求 1∼n 中每个数的欧拉函数之和。 输入格式 共一行包含一个整数 n。 输出格式 共一行包含一个整数表示 1∼n 中每个数的欧拉函数之和。 数据范围 1≤n≤106 输入样例 6输出样例 12问题分析 代码 #includebits/stdc.h using namespace std; typedef long long ll; const int N1000010; int primes[N],cnt; int n; ll phi[N]; bool st[N]; ll get_eulers(int n) {phi[1]1;for(int i2;in;i){if(!st[i]){primes[cnt]i;phi[i]i-1;}for(int j0;primes[j]n/i;j){st[primes[j]*i]true;if(i%primes[j]0){phi[primes[j]*i]phi[i]*primes[j];break;}phi[primes[j]*i]phi[i]*(primes[j]-1);}}ll res0;for(int i1;in;i)resphi[i];return res; } int main() {cinn;coutget_eulers(n)endl;return 0; }快速幂 问题描述 给定 n 组 ai,bi,pi对于每组数据求出 aibimodpi的值。 输入格式 第一行包含整数 n。 接下来 n 行每行包含三个整数 ai,bi,pi。 输出格式 对于每组数据输出一个结果表示 aibimodpi的值。 每个结果占一行。 数据范围 1≤n≤100000,1≤ai,bi,pi≤2×109 输入样例 2 3 2 5 4 3 9输出样例 4 1问题分析 代码 #includebits/stdc.h using namespace std; typedef long long ll; ll qmi(ll a,ll b,ll c) {ll res1;while(b){if(b 1) resres*a%c;aa*a%c;b1;}return res; } int main() {int n;cinn;while(n--){ll a,b,c;cinabc;coutqmi(a,b,c)%cendl;}return 0; }快速幂求逆元 问题描述 给定 n 组 ai,pi其中 pi 是质数求 ai 模 pi 的乘法逆元若逆元不存在则输出impossible。 注意请返回在 0∼p−1 之间的逆元。 乘法逆元的定义 若整数 bm 互质并且对于任意的整数 a如果满足 b|a则存在一个整数 x使得 ab≡a×x(modm)则称 x 为 b 的模 m 乘法逆元记为 b−1(modm)。 b 存在乘法逆元的充要条件是 b 与模数 m 互质。当模数 m 为质数时bm−2即为 b 的乘法逆元。 输入格式 第一行包含整数 n。 接下来 n 行每行包含一个数组 ai,pi数据保证 pi是质数。 输出格式 输出共 n 行每组数据输出一个结果每个结果占一行。 若 ai 模 pi 的乘法逆元存在则输出一个整数表示逆元否则输出impossible。 数据范围 1≤n≤105,1≤ai,pi≤2∗109 输入样例 3 4 3 8 5 6 3 输出样例 1 2 impossible 问题分析 代码 快速幂求逆元 #includebits/stdc.h using namespace std; typedef long long ll; ll qmi(ll a,ll b,ll p) {ll res1;while(b){if(b1) resres*a%p;aa*a%p;b1;}return res; } int main() {int n;cinn;while(n--){ll a,c;cinac;if(a%c0) coutimpossibleendl;else coutqmi(a,c-2,c)endl;}return 0; }扩展欧几里得算法求逆元 #includebits/stdc.h using namespace std; typedef long long LL; int n; int exgcd(int a, int b, int x, int y) {if (!b) {x 1, y 0;return a;}int d exgcd(b, a % b, y, x);y - a / b * x;return d; } int main() {cin n;while (n --){int a, p, x, y;cin a p;int d exgcd(a, p, x, y);if (d 1) cout ((LL)x p) % p endl;//保证x是正数else puts(impossible);}return 0; }扩展欧几里得算法 问题描述 给定 n 对正整数 ai,bi对于每对数求出一组 xi,yi使其满足 ai×xibi×yigcd(ai,bi)。 输入格式 第一行包含整数 n。 接下来 n 行每行包含两个整数 ai,bi。 输出格式 输出共 n 行对于每组 ai,bi求出一组满足条件的 xi,yi每组结果占一行。 本题答案不唯一输出任意满足条件的 xi,yi 均可。 数据范围 1≤n≤105,1≤ai,bi≤2×109 输入样例 2 4 6 8 18输出样例 -1 1 -2 1问题分析 代码 #includebits/stdc.h using namespace std; int exgcd(int a,int b,int x,int y) {if(!b){x1,y0;return a;}int dexgcd(b,a%b,y,x);y-a/b*x;return d; } int main() {int n;cinn;while(n--){int a,b;cinab;int x,y;exgcd(a,b,x,y);coutx yendl;}return 0; }线性同余方程 问题描述 给定 n 组数据 ai,bi,mi对于每组数求出一个 xi使其满足 ai×xi≡bi(mod mi)如果无解则输出 impossible。 输入格式 第一行包含整数 n。 接下来 n 行每行包含一组数据 ai,bi,mi。 输出格式 输出共 n 行每组数据输出一个整数表示一个满足条件的 xi如果无解则输出 impossible。 每组数据结果占一行结果可能不唯一输出任意一个满足条件的结果均可。 输出答案必须在 int 范围之内。 数据范围 1≤n≤105,1≤ai,bi,mi≤2×109 输入样例 2 2 3 6 4 3 5输出样例 impossible -3问题分析 代码 #includebits/stdc.h using namespace std; typedef long long ll; int exgcd(int a,int b,int x,int y) {if(!b){x1,y0;return a;}int dexgcd(b,a%b,y,x);y-a/b*x;return d; } int main() {int n;cinn;while(n--){int a,b,m;int x,y;cinabm;int dexgcd(a,m,x,y);if(b%d) coutimpossibleendl;else cout(ll)x*b/d%mendl;}return 0; }表达整数的奇怪方式(中国剩余定理) 问题描述 给定 2n 个整数 a1,a2,…,an 和 m1,m2,…,mn求一个最小的非负整数 x满足 ∀i∈[1,n],x≡mi(mod ai)。 输入格式 第 1 行包含整数 n。 第 2…n1 行每 i1 行包含两个整数 ai和 mi数之间用空格隔开。 输出格式 输出最小非负整数 x如果 x 不存在则输出 −1。 数据范围 1≤ai≤231-1,0≤miai,1≤n≤25 所有 mi 的最小公倍数在 64 位有符号整数范围内。 输入样例 2 8 7 11 9输出样例 31问题分析 将式子等价转换 对于每两个式子我们考虑将其合并: x≡m1(% a1) x≡m2(% a2) 则有 xk1∗a1m1 xk2∗a2m2 进一步 k1∗a1m1k2∗a2m2 移项 k1∗a1−k2∗a2m2−m1 也就是 ①k1∗a1k2∗(−a2)m2−m1 也就是我们需要找到一个最小的k1,k2使得等式成立因为要求x最小而a和m都是正数。 用扩展欧几里得算法找出一组解 我们已知a1,m1,a2,m2可以用扩展欧几里得算法算出一个k′1,k′2使得 k′1∗a1k′2∗(−a2)gcd(a1,−a2) 无解判断 若gcd(a1,−a2)∤m2−m1则无解。 我们设dgcd(a1,−a2),y(m2−m1)/d 承接上文我们只需让k1,k2分别扩大y倍则可以找到一个k1,k2满足①式 k1k′1∗y,k2k′2∗y 找到最小正整数解 我们知道一个性质 ②k1k1k∗a2d k2k2k∗a1d 为任意整数这时新的k1,k2仍满足①式。 证明 将新的k1,k2带入式子得: (k1k*a2d)∗a1(k2k*a1d)*(−a2)m2−m1 拆出来 k1*a1k*a2*a1dk2*(−a2)k*a1*(−a2)dm2−m1 交换一下顺序把负号拆出来 k1*a1k2*(−a2)k*a2*a1d−k*a1*a2dm2−m1 那个同加同减可以消掉 k1*a1k2*(−a2)m2−m1 这个式子和①是一样的因①成立故此式也成立。 要找一个最小的非负整数解我们只需要让 k1k1% abs(a2/d) k2k2% abs(a1/d) 即可找到当前最小的k1,k2的解即此时的k为0。 Q此处为什么要取绝对值呢 A:因为不知道a2/d的正负性我们在原基础上要尽量减多个abs(a2/d)使其为正整数且最小。 等效替代 由②式带入新的x为 x(k1k∗a2d)∗a1m1 k1∗a1m1k∗a2∗a1d k1∗a1m1k∗lcm(a1,a2)③ Q:这里k都为0了为什么还要算呢 因为这只是前两个式子得最小k有可能遇到下一个式子后面被迫要扩大 在③中我们设a0lcm(a1,a2),m0k1∗a1m1 那么 ③ k∗a0m0 这个形式与一开始我们分解的形式是不是特别像呢 没错假设之后又来了一个a3,m3 我们只需要继续找 xk∗a0m0k3∗(−a3)m3那么问题又回到了第一步。 总结 我们的做法相当于每次考虑合并两个式子将这n个式子合并n−1次后变为一个式子。最后剩下的式子就满足我们的答案。 注意 lcm(a1,a2)和%a2/d需要取绝对值。又因为dgcd(a1,−a2)我们不知道a1 的正负性可能是上一步推过来的。 %a2/d需要取绝对值 模负数的话不会取到正解 代码 #includebits/stdc.h using namespace std; typedef long long ll; ll exgcd(ll a,ll b,ll x,ll y) {if(!b){x1,y0;return a;}int dexgcd(b,a%b,y,x);y-a/b*x;return d; } int main() {int n;cinn;ll x0,m1,a1;cinm1a1;for(int i0;in-1;i){ll m2,a2;cinm2a2;ll k1,k2;ll dexgcd(m1,m2,k1,k2);if((a2-a1)%d){x-1;break;}k1*(a2-a1)/d;k1(k1%(m2/d)m2/d)%(m2/d);xk1*m1a1;ll mabs(m1/d*m2);a1k1*m1a1;m1m;}if(x!-1) x(a1%m1m1)%m1;coutxendl;return 0; }高斯消元解线性方程组 问题描述 输入一个包含 n 个方程 n 个未知数的线性方程组。 方程组中的系数为实数。 求解这个方程组。 下图为一个包含 m 个方程 n 个未知数的线性方程组示例 输入格式 第一行包含整数 n。 接下来 n 行每行包含 n1 个实数表示一个方程的 n 个系数以及等号右侧的常数。 输出格式 如果给定线性方程组存在唯一解则输出共 n 行其中第 i 行输出第 i 个未知数的解结果保留两位小数。 如果给定线性方程组存在无数解则输出 Infinite group solutions。 如果给定线性方程组无解则输出 No solution。 数据范围 1≤n≤100,所有输入系数以及常数均保留两位小数绝对值均不超过 100。 输入样例 3 1.00 2.00 -1.00 -6.00 2.00 1.00 -3.00 -9.00 -1.00 -1.00 2.00 7.00输出样例 1.00 -2.00 3.00问题分析 代码 #includebits/stdc.h using namespace std; const int N110; const double eps1e-8; double a[N][N]; int n; int gauss() {int c,r;for(c0,r0;cn;c){int tr;for(int ir;in;i) // 找绝对值最大的行if(fabs(a[i][c])fabs(a[t][c]))ti;// 如果当前这一列的最大数都是 0 那么所有数都是 0//就没必要去算了因为它的约束方程可能在上面几行if(fabs(a[t][c])eps) continue;// 将绝对值最大的行换到最顶端for(int ic;in;i) swap(a[t][i],a[r][i]);for(int in;ic;i--) a[r][i]/a[r][c];for(int ir1;in;i)if(fabs(a[i][c])eps)for(int jn;jc;j--)a[i][j]-a[r][j]*a[i][c];r;}if(rn){for(int ir;in;i)if(fabs(a[i][n])eps)return 2;return 1;}for(int in-1;i0;i--)for(int ji1;jn;j)a[i][n]-a[i][j]*a[j][n];return 0; } int main() {cinn;for(int i0;in;i)for(int j0;jn1;j)cina[i][j];int tgauss();if(t2) coutNo solutionendl;else if(t1) coutInfinite group solutionsendl;else{for(int i0;in;i)printf(%.2lf\n,a[i][n]);}return 0; } 高斯消元解异或线性方程组 问题描述 输入一个包含 n 个方程 n 个未知数的异或线性方程组。 方程组中的系数和常数为 0 或 1每个未知数的取值也为 0 或 1。 求解这个方程组。 异或线性方程组示例如下 其中 ^ 表示异或(XOR),M[i][j]表示第 i个式子中 x[j]的系数B[i] 是第 i 个方程右端的常数取值均为 0 或 1。 输入格式 第一行包含整数 n。 接下来 n 行每行包含 n1 个整数 0 或 1表示一个方程的 n 个系数以及等号右侧的常数。 输出格式 如果给定线性方程组存在唯一解则输出共 n 行其中第 i 行输出第 i 个未知数的解。 如果给定线性方程组存在多组解则输出 Multiple sets of solutions。 如果给定线性方程组无解则输出 No solution。 数据范围 1≤n≤100 输入样例 3 1 1 0 1 0 1 1 0 1 0 0 1输出样例 1 0 0问题分析 代码 #includebits/stdc.h using namespace std; const int N110; int n; int a[N][N]; int gauss() {int c,r;for(c0,r0;cn;c){int tr;for(int ir;in;i)if(a[i][c])ti;if(!a[t][c]) continue;for(int ic;in;i) swap(a[r][i],a[t][i]);for(int ir1;in;i)if(a[i][c])for(int jn;jc;j--)a[i][j]^a[r][j];r;}if(rn){for(int ir;in;i)if(a[i][n])return 2;return 1;}for(int in-1;i0;i--)for(int ji1;jn;j)a[i][n]^a[i][j]*a[j][n];return 0; } int main() {cinn;for(int i0;in;i)for(int j0;jn1;j)cina[i][j];int tgauss();if(t0){for(int i0;in;i) couta[i][n]endl;}else if(t1) coutMultiple sets of solutionsendl;else coutNo solutionendl;return 0; }
http://www.hkea.cn/news/14355625/

相关文章:

  • 明星个人网站设计模板帮做装修设计的网站
  • 网站备案 内容响应式网站概况
  • 昆明网站建设哪家企业文化墙
  • 中卫网站设计在哪里北京住房与建设部网站
  • 西安建设银行工作招聘网站为什么要建设个人网站
  • 高端网站设计定制哈尔滨市建筑企业管理站
  • 鹤壁网站推广做彩票的网站有哪些
  • 蚌埠集团网站建设网站规划书 确定网站建设目的
  • 网站设计就业怎么样360阻止建设银行网站
  • php中做购物网站的教程seo关键词排名优化推荐
  • 嘉兴php网站开发公司如何建设网站首页
  • 优质采官方网站安徽外径建设集团如何黑掉jsp做的网站
  • 网站进度条源代码juqery-uiwordpress list
  • 濮阳网站建设陈帅网站怎么做组织图
  • 在线看网站建设哈尔滨建筑信息网
  • 网站建设费用 开办费公司网站管理维护
  • 网站建设选择哪种开发语言最好上海网站建设q.479185700強
  • 南昌专业网站建设公司哪家好制作卡牌的网站
  • 重庆转店铺哪个网站平台好官方查企业信息的网站
  • 北京的医疗网站建设导视设计调研报告
  • 教育局网站建设方案做了半个月跨境电商不想干了
  • godday网站建设潍坊作风建设网站
  • 网站开发与推广方向怎么自学网站建设
  • 网站建设公司能信吗自动化系统网站建设首选公司
  • 中英文网站是咋做的福州网站建设推广公司
  • 东莞市手机网站建设品牌湖南网站建设推荐
  • 基于dw的动物网站设计论文随州网
  • 免费word模板下载哪个网站wordpress换nginx 数据库
  • 彩票网站维护需要几天百度网页
  • 网站建设价值成品视频直播软件推荐哪个好一点非周马加