4.4 Provincial jogo de simulação de eleição Lagrange contar Fenwick árvore + inclusão e exclusão.

avatar
avatar

Contando Problemas como este que é o mais chato ...

Central a considerar é o número de anel de volta adiada para o parágrafo anterior enumerate violento duas estatísticas digitais árvores Fenwick terceiro número de n ^ 2log.

Considerar apenas a enumeração do número de descoberto qual é o problema, porque a fronteira é difícil lidar com eles.

Em seguida, descobriram que a enumeração directa para o anel, mas não há nenhum problema 123231312 presença limite de três formas depois de enumeração do segundo número.

O primeiro olhar formulário bom para as estatísticas pré-tratamento deixou quantos números são pequenos em comparação com os seus próprios.

E uma terceira forma é difícil considerar o segundo descoberto considerando estas duas formas de inclusão e exclusão 231 = XX1-321. 312 = 3XX-321 a 2 quando a enumeração.

3xx estatísticas boas e encontrado XX1 321 e 123 acima os mesmos métodos estatísticos para O (nlogn) para obter uma resposta.

const int MAXN=200010;
int n,T,m,top;ll ans=0;
int a[MAXN],c[MAXN];ll f[MAXN];
inline void add(int x,int y){while(x<=n){c[x]+=y;x+=x&(-x);}}
inline int ask(int x){int cnt=0;while(x){cnt+=c[x];x-=x&(-x);}return cnt;}
signed main()
{
	freopen("1.in","r",stdin);
	get(n);
	rep(1,n,i)
	{
		get(a[i]);
		f[i]=ask(a[i]-1);
		add(a[i],1);
	}
	rep(1,n,i)
	{
		ans+=f[i]*(n-i-(a[i]-1-f[i]));//123 左边比我小 右边比我大
		ans+=(a[i]-1-f[i])*(a[i]-1-f[i]-1)/2;//3XX
		ans+=(i-1-f[i])*(i-1-f[i]-1)/2;//XX1
		ans-=(i-1-f[i])*(a[i]-1-f[i])*2;//左边比我大 右边比我小
	}
	putl(ans);return 0;
}

Acho que você gosta

Origin www.cnblogs.com/chdy/p/12632918.html
Recomendado
Clasificación