快速幂
Keep_Trying_Go
无
展开
-
快速幂和快速乘
快速幂用来计算形如:一:快速幂a底数,b为指数,m为模数#define ll long long ll quick(ll a,ll b,ll mod){ ll ans=1; while(b){ if(b&1){ ans=(a*ans)%mod; } a=(a*a)%mod; b>>=1; } return ans;} 二:快速乘快速乘1:时间复杂度为O(logb)#define ll long long ll quick(ll a,ll原创 2021-05-01 14:25:54 · 159 阅读 · 0 评论 -
HDU1576
求解逆元的四种方法://方法一://扩展欧几里得算法 #include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const ll maxx=1e9+7;const int mod=9973;ll n,m;ll Exgcd(ll a,ll b,ll &x,ll &y){ if(b==0){ x=1;y原创 2021-03-06 11:53:51 · 134 阅读 · 0 评论 -
HDU3037(卢卡斯定理)
我感觉这几种方法都是模版题:方法一: #include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const ll maxx=1e8+7;ll a,b,p;ll Exgcd(ll a,ll b,ll &x,ll &y){ if(b==0){ x=1;y=0; return a; } ll r=Ex原创 2021-03-06 11:50:58 · 151 阅读 · 0 评论 -
HDU4349
HDU4349#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const int maxx=1e5+10;const int mod=1e6+9;ll a;int main(){ while(cin>>a){ ll ans=1; while(a){ if(a&1)ans*=2;原创 2021-03-06 11:48:53 · 113 阅读 · 0 评论 -
HDU1097
快速幂求解:HDU1097#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const ll mod=10;ll a,b;ll pow_mod(ll a,ll b,ll mod){ ll ans=1; a%=mod; while(b){ if(b&1){ ans=(ans*a)%mod;原创 2021-03-06 11:48:07 · 128 阅读 · 0 评论 -
HDU1061
快速幂求解:HDU1061#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const ll mod=10;ll a,b;ll pow_mod(ll a,ll b,ll mod){ ll ans=1; a%=mod; while(b){ if(b&1){ ans=(ans*a)%mod;原创 2021-03-06 11:46:44 · 129 阅读 · 0 评论 -
poj1995
快速幂求解:poj1995#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const ll maxx=1e5+7;ll a,b;ll p;ll pow_mod(ll a,ll b,ll mod){ ll ans=1; while(b){ if(b&1){ ans=(ans*a)%mod;原创 2021-03-06 11:45:41 · 196 阅读 · 0 评论