题目大意:在n个序列里面找到n2个联结串里面存在一对索引(i,j)使得1≤i<j≤l且ai <aj的联结串的个数.
思路:看代码
#include<bits/stdc++.h>
typedef long long ll;
const int N=1e6+1;
using namespace std;
int a[N], mx[N] ,pre[N];
int main()
{
int n, x, flag, mn, l;
ll ans=0;
scanf("%d", &n);
for(int i=0; i<n; i++)
{
cin>>l;
flag=0;
mn=N;
for(int j=0; j<l; j++)
{
scanf("%d", &x);
if(mn<x) flag=1;
mx[i]=max(x, mx[i]), mn=min(x, mn);
}
if(flag) mn=-1, mx[i]=N-1;
pre[mn+1]++;
}
for(int i=1; i<N; i++)
{
pre[i]+=pre[i-1];
}
for(int i=0; i<n; i++)
{
ans+=pre[mx[i]];
}
printf("%lld\n", ans);
return 0;
}