11.1 NOIP 模拟赛
期望得分:50;实际得分:50;
思路:暴力枚举 + 快速幂
#include <algorithm> #include <cstring> #include <cstdio> using namespace std; typedef long long LL; const int Mod = 1e9 + 7; int n, m; LL ans; LL qpow(LL a, LL b) { LL res = 1; while (b) { if (b & 1) res = res * a % Mod; a = a * a % Mod; b >>= 1; } return res; } int main() { freopen("sum.in","r",stdin); freopen("sum.out","w",stdout); scanf("%d%d", &n, &m); ans += m; for (int i = 2; i <= n; ++i) { ans += i; for (int j = 2; j <= m; ++j) { ans = ans + qpow(i, j); if (ans >= Mod) ans -= Mod; } } printf("%lld\n", ans); fclose(stdin); fclose(stdout); return 0; }