【NOIP2013】转圈游戏 快速幂】的更多相关文章

所谓的快速幂: // 计算 m^n % k 的快速幂算法 int quickpow(int m,int n,int k) { ; ) { ) b = (b*m)%k; n = n >> ; m = (m*m)%k; } return b; } 借助于上面的函数,本题目很容易就可以解决: int main() { int n,m,x,k,data; scanf("%d%d%d%d",&n,&m,&k,&x); data=quickpow(,k,…
题目大意:给你四个整数$n,m,k,x$,求$(x+m\times 10^k)%n$. 直接一个快速幂就好了,注意开$long\ long$. #include<bits/stdc++.h> #define L long long using namespace std; L MOD,m,k,x; L pow_mod(L x,L k){ L ans=; while(k){ ) ans=ans*x%MOD; x=x*x%MOD; k>>=; } return ans; } int m…
描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推. 游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,……,第 n-1 号位置上的小伙伴顺时针走到第m-1 号位置. 现在…
描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置, --, 依此类推. 游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,--,第 n-1 号位置上的小伙伴顺时针走到第m-1 号位置.…
求(m*10^k+x)%n即可 #include<cstdio> #include<cstring> #include<algorithm> #define LL long long int using namespace std; LL rd(){ LL x=;; ;c=getchar();} +c-',c=getchar(); return x*neg; } LL modp(LL x,int k,int n){ LL re=; while(k){ ) re=re*x…
题目:https://www.luogu.org/problemnew/show/P1965 居然真的就只是 ( x + m * 10k % n ) % n 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; int n,m,k,x; int pw(int a,int…
题目描述 Description n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推.游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,第n - m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,……,第 n-1 号位置上的小伙伴顺时针走…
题目描述 n个小伙伴(编号从 0到 n−1)围坐一圈玩游戏.按照顺时针方向给 n个位置编号,从0 到 n−1.最初,第 0号小伙伴在第 0号位置,第 1号小伙伴在第 1 号位置,……,依此类推. 游戏规则如下:每一轮第 0号位置上的小伙伴顺时针走到第m 号位置,第 1号位置小伙伴走到第 m+1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n∼m+1 号位置上的小伙伴走到第1 号位置,……,第n-1 号位置上的小伙伴顺时针走到第m−1 号位置. 现在,一共进行了 10…
题目链接:https://vijos.org/p/1554 http://www.lydsy.com/JudgeOnline/problem.php?id=1411 这题真的淫*QAQ... 一看题还以为是啥水题,结果啊,是个规律题 我们先来解释一下样例 20202010101010101020 001010201010101010201 110102020101010102020 201020102010101020102 320202020201010202020 4010101010201…
定义 快速求a^b%c的算法 原理 指数可以被二进制分解 那么a^b可以分解为a^2^k1*a^2^k2*…… 又显然a^2^(k+1)=a^(2^k*2)=(a^2^k)^2 所以可以将指数在二进制下从低位向高位递推,每次将底数平方,若该位是1就将答案乘上底数,直到指数为0. 实现时可以每次将指数/2方便处理 位运算优化 x&1:取x二进制下最后一位 x>>1:x/2 代码 int quickpow(int a,int b,const int c) { ; while(b) { )…