数据结构题目
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/18 13:21:34
数据结构题目
你要问什么
再问: �����ո��㿴��
再答: �õ�
再问:
再问: лл��
再问: ���п��
再答: ����һ��C++���� ���ϸĺø��� �Ե�һ��
再问: �����д�³����
再问: ����
再问: ʱ�����
再问: ֱ��������д
再问: ���Ҫ��ã�����д����
再问: ��
再问: ����
再问: ��
再答: #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define N 500100
#define FOR(i,a,b) for(i=(a);i<=(b);i++)
#define ROF(i,a,b) for(i=(a);i>=(b);i--)
typedef long long LL;
using namespace std;
int a[N],q[N],n,le[N],ri[N];
int main()
{
scanf("%d",&n);int i;
FOR(i,1,n) scanf("%d",&a[i]);
a[0]=0;
q[0]=0;
int top=0;
FOR(i,1,n/2) {int tmp=a[n-i+1];a[n-i+1]=a[i];a[i]=tmp;}
memset(q,0,sizeof(q));top=0;
FOR(i,1,n)
{
while (top&&a[q[top]]<=a[i]) top--;
ri[i]=q[top];
if (ri[i]) ri[i]=n-ri[i]+1;
q[++top]=i;
}
FOR(i,1,n/2) {int tmp=ri[n-i+1];ri[n-i+1]=ri[i];ri[i]=tmp;}
FOR(i,1,n) printf("%d ",ri[i]);
} ���Լ���һ���ļ���
再问: ����ʲô���ԣ�
再答: C++
再问: c+
再问: �õ�лл
再问: ��������
再答: ����ʲô����
再问:
再问: ���Կ�����
再答: ��Щ����OI�Ⱑ ���Ǹ�ʲô��
再问: ģ���
再问: ������
再答: ������������A��B��LCA T������T��C��LCA ���Լ�д�ɣ�Ҫд�ܳ�ʱ��� ��˵���dz����ѧ�ߣ����ѧ�߿�������̫������ ��Щ��ﵽnoip������Ѷ�
再问: ��һ���д���
再问: 3q
再问: ?iii
再问: �ף�������
再问: ����������㿴��
再问: ŶŶŶŶŶŶ
再问: ��
再问: ��
再答: ��һ�����Լ��Ӹ��ļ��ͺ��� ��������㲻��д�ļ�
再问: ��ۿ۶���
再问: ����ȫ���ᣬ��ô��
再问: ���У��Ͷ��͵�����
再问: �м�����
再答: 2370921974
再问: �����ո��㿴��
再答: �õ�
再问:
再问: лл��
再问: ���п��
再答: ����һ��C++���� ���ϸĺø��� �Ե�һ��
再问: �����д�³����
再问: ����
再问: ʱ�����
再问: ֱ��������д
再问: ���Ҫ��ã�����д����
再问: ��
再问: ����
再问: ��
再答: #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define N 500100
#define FOR(i,a,b) for(i=(a);i<=(b);i++)
#define ROF(i,a,b) for(i=(a);i>=(b);i--)
typedef long long LL;
using namespace std;
int a[N],q[N],n,le[N],ri[N];
int main()
{
scanf("%d",&n);int i;
FOR(i,1,n) scanf("%d",&a[i]);
a[0]=0;
q[0]=0;
int top=0;
FOR(i,1,n/2) {int tmp=a[n-i+1];a[n-i+1]=a[i];a[i]=tmp;}
memset(q,0,sizeof(q));top=0;
FOR(i,1,n)
{
while (top&&a[q[top]]<=a[i]) top--;
ri[i]=q[top];
if (ri[i]) ri[i]=n-ri[i]+1;
q[++top]=i;
}
FOR(i,1,n/2) {int tmp=ri[n-i+1];ri[n-i+1]=ri[i];ri[i]=tmp;}
FOR(i,1,n) printf("%d ",ri[i]);
} ���Լ���һ���ļ���
再问: ����ʲô���ԣ�
再答: C++
再问: c+
再问: �õ�лл
再问: ��������
再答: ����ʲô����
再问:
再问: ���Կ�����
再答: ��Щ����OI�Ⱑ ���Ǹ�ʲô��
再问: ģ���
再问: ������
再答: ������������A��B��LCA T������T��C��LCA ���Լ�д�ɣ�Ҫд�ܳ�ʱ��� ��˵���dz����ѧ�ߣ����ѧ�߿�������̫������ ��Щ��ﵽnoip������Ѷ�
再问: ��һ���д���
再问: 3q
再问: ?iii
再问: �ף�������
再问: ����������㿴��
再问: ŶŶŶŶŶŶ
再问: ��
再问: ��
再答: ��һ�����Լ��Ӹ��ļ��ͺ��� ��������㲻��д�ļ�
再问: ��ۿ۶���
再问: ����ȫ���ᣬ��ô��
再问: ���У��Ͷ��͵�����
再问: �м�����
再答: 2370921974