POJ 3784. La mediana de Ejecución

Enlace
significado de problemas:
dada una longitud de secuencia es un número impar, la salida de la antigua \ (1,3,5, \ dots \) en la mediana del número de
las ideas:

Superior de la pila

El establecimiento de un pequeño montón de raíz y la pila raíz grande

  • Si la corriente es mayor que el número de pedazos más pequeños de la parte superior de la raíz, la raíz inserte una pequeña pila
  • Si la corriente es menor que el número de pedazos más pequeños de la parte superior de la raíz, la raíz inserta en el gran reactor

Grandes montones de raíz superior es siempre inferior a la parte superior de unos pequeños montones de raíz

Cuando un número impar que se ha insertado, debemos asegurarnos de que el número de gran montón de raíz menor que el número de una pila de raicillas

  • Si un gran número de múltiples raíz del montón, puso gran raíz pilas de lixiviación superior inserto raicillas
  • Si un pequeño número de múltiples pila raíz, poner la tapa de las pilas insertadas en las grandes raicillas raíz del montón

Tan pequeño es el montones de raíz media superior

código:

#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef pair<int,int> pii;
//head
int a[10000];
priority_queue<int,vector<int>,greater<int> >q1;
priority_queue<int>q2;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T;
    cin>>T;
    while(T--) {
        int t,n;
    	cin>>t>>n;
    	while(q1.size()) q1.pop();
        while(q2.size()) q2.pop();
    	for(int i=1;i<=n;i++) cin>>a[i];
    	cout<<t<<" "<<(n+1)/2<<endl;
    	for(int i=1;i<=n;i++) {
    	    if(!q1.size()||a[i]>q1.top()) q1.push(a[i]);
    	    else q2.push(a[i]);
    	    if(i&1) {
    		if(q1.size()-1>q2.size()) q2.push(q1.top()),q1.pop();
    		if(q2.size()+1>q1.size()) q1.push(q2.top()),q2.pop();	
    	    }
    	    if(i&1) cout<<q1.top()<<" ";
    	    if(i%20==0||i==n) cout<<endl;
    	}
    }
    return 0;
}

Supongo que te gusta

Origin www.cnblogs.com/c4Lnn/p/12663892.html
Recomendado
Clasificación