小a和小b来到了一条布满了黄金的街道上.它们想要带几块黄金回去,然而这里的城管担心他们拿走的太多,于是要求小a和小b通过做一个游戏来决定最后得到的黄金的数量.游戏规则是这样的:假设道路长度为米(左端点为,右端点为),同时给出一个数(下面会提到的用法)设小a初始时的黄金数量为,小b初始时的黄金数量为小a从出发走向,小b从出发走向,两人的速度均为假设某一时刻(必须为整数)小a的位置为,小b的位置为,若且,那么小a的黄金数量会变为,小b的黄金数量会变为当小a到达时游戏结束小a想知道在游戏结束时的值答案…
Assume that f(0) = 1 and 0^0=1. f(n) = (n%10)^f(n/10) for all n bigger than zero. Please calculate f(n)%m. (2 ≤ n , m ≤ 10^9, x^y means the y th power of x). InputThe first line contains a single positive integer T. which is the number of test cases.…
2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9231    Accepted Submission(s): 2837 Problem Description Give a number n, find the minimum x(x>0) that satisfies 2^x mod n = 1.   In…
 poj                         Relatives                                Time Limit: 1000MS   Memory Limit: 65536K                                                                                                                                          …
题目描述: 链接:https://ac.nowcoder.com/acm/contest/317/D来源:牛客网小a和小b来到了一条布满了黄金的街道上.它们想要带几块黄金回去,然而这里的城管担心他们拿走的太多,于是要求小a和小b通过做一个游戏来决定最后得到的黄金的数量. 游戏规则是这样的: 假设道路长度为nn米(左端点为00,右端点为nn),同时给出一个数kk(下面会提到kk的用法) 设小a初始时的黄金数量为AA,小b初始时的黄金数量为BB 小a从11出发走向n−1n−1,小b从n−1n−1出发…
参考:http://blog.csdn.net/qq_33229466/article/details/70174227 看这个等式的形式就像高精gcd嘛-所以随便算一下就发现每次修改(a,b)影响到的都是横纵坐标gcd为gcd(a,b)的,进而发现可以把gcd(i,j)==d的一部分都归到d上,f(a,b)=f(d,d)ab/d/d ,这样二维就变成一维了,设为f. 然后答案就是: \[ ans=\sum_{d=1}^{k}f(d)\sum_{i=1}^{k}\sum_{j=1}^{k}[gc…
题意:a, b两个人在长度为n的一维数轴上(从1开始).a在1,b在n.每个人以1m/s的速度相向而行,则每一时刻存在坐标x,y,当cgd(n, x)==1,gcd(n, y)==1时,t1=k^x, t2=k^y. .然后每个t对应相乘,再相加. 思路:a,b其实的x,y坐标都是相同的.首先,要知道.设x<n,gcd(n,x)==1,则gcd(n, n-x)==1.那么则将题转化为n以内的与n互素的数之和. 那么引出欧拉函数的一条拓展定义:在n以内所有与n互素的所有数之和为n*Φ(n)/2 #…
题目链接 分析:这题用到了欧拉函数, 欧拉函数,用φ(n)表示 欧拉函数是求小于等于n的数中与n互质的数的数目 详细可以看看这篇博文https://www.cnblogs.com/linyujun/p/5194170.html 注意:这种指数形式取模的话不能在指数上直接取模,但可以给底数取模 #include <bits/stdc++.h> using namespace std; <<; typedef long long ll; ); ; ; ll phi(ll x){ ll…
题目链接:传送门 思路:欧拉函数的性质:前n个数的欧拉函数之和为φ(n)*n/2,由此求出结果. 参考文章:传送门 #include<iostream> #include<cmath> #include<cstdio> #include<cstring> using namespace std; typedef long long LL; ; LL POW(LL a,LL b) { LL ans=; while(b) { ) ans=ans*a%MOD; a…
链接:https://ac.nowcoder.com/acm/contest/317/D 首先被数学题吓到了.gcd(n,x)==1 那么必定有 gcd(n,n-x)==1 证明略. 并且两个人的对答案贡献一样. 对于A来说 ,A*ka *k(n-a) * kb *k(n-b) = A*kRn 转化为求Rn . 因为gcd(n,a)==1, 也就是互质,所以转化为不超过n与n互质的数之和 有一个结论:sigma = n*Ψ(n)/2 所以答案就是  (A+B)*kn*Ψ(n)/2 通过这道题,理…