题意:
解法:
时间复杂度:
std:
#include <bits/stdc++.h> using namespace std; #define ll long long const ll mod = 1e9 + 7; ll pow_mod(ll a,ll b){ ll ans = 1; while(b){ if(b&1) ans = ans*a%mod; a = a*a%mod; b>>=1; } return ans; } int main() { ll n; cin>>n; if(n == 1) cout<<"0"<<endl; else if(n == 2) cout<<"1"<<endl; else cout<<((n%mod)*((n-1)%mod)%mod*pow_mod(2,n-3)%mod)%mod<<endl; return 0; }