2961. 双模幂运算
思路:如果正常的模拟,那么时间复杂度就是0(108),时间上会超时,但使用快速幂加速,时间复杂度就是0(104)
class Solution {
public:
int qmi(int a,int k,int p){
int res=1%p;
while(k){
if(k&1) res=res*a%p;
a=a*a%p;
k>>=1;
}
return res;
}
vector<int> getGoodIndices(vector<vector<int>>& variables, int target) {
vector<int> v;
for(int i=0;i<variables.size();i++){
int t=qmi(variables[i][0],variables[i][1],10);
t=qmi(t,variables[i][2],variables[i][3]);
if(t==target) v.push_back(i);
}
return v;
}
};