逆序对
逆序对
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; }