逆序对
逆序对
https://ac.nowcoder.com/acm/problem/14731
题意:
题解:一看数据范围,肯定是直接输出答案的
题上说 那直接写
位置,一共可以写出
种,然后我没对于每一种位置进行构串,还剩下
个位置,所以可以构成
种可能.
所以 ,加上取模运算和快速幂运算
时间负责度:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod = 1e9+7;
ll quickmod(ll a,ll b,ll m)
{
ll ans = 1;
while(b)
{
if(b&1)
{
ans = (ans*a)%m;
b--;
}
b/=2;
a = a*a%m;
}
return ans;
}
int main ()
{
ll n; cin >> n;
ll sum = (n % mod) * ((n-1)%mod) / 2 % mod;
ll p = quickmod(2,n-2,mod);
ll ans = (sum * p) % mod;
cout << ans <<endl;
}

