求助,感觉是算法时间复杂度太大了,70pts
查看原帖
求助,感觉是算法时间复杂度太大了,70pts
592342
WA_automat楼主2022/8/14 21:32
#include<iostream>
using namespace std;
const int mod = 1e9 + 7;
long long n, res = 1, tmp = 1;
inline long long qmi(long long a, long long k, long long p) {
	long long res = 1;
	while (k) {
		if (k & 1) res = res * a % p;
		a = a * a % p;
		k >>= 1;
	}
	return res;
}
int main(void) {
	scanf("%lld", &n);
	for (register int i = 1; i < n; ++i) {
		res = res * (qmi(2, i + 1, mod) - 1) % mod;
	}
	printf("%lld", res % mod);
	return 0;
}

2022/8/14 21:32
加载中...