合唱队列,老师教的方法?我没过
  • 板块灌水区
  • 楼主Hydrogeno
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/9/2 20:48
  • 上次更新2024/9/3 13:27:14
查看原帖
合唱队列,老师教的方法?我没过
941130
Hydrogeno楼主2024/9/2 20:48
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a;
	cin>>a;
	int b[a];
	for(int A=0;A<a;A++)
	{
		cin>>b[A];
	}
	int c[a],d[a];
	for(int A=0;A<a;A++)
	{
		c[A]=1;
	}
	for(int A=1;A<a;A++)//lis
	{
		for(int B=A-1;B>=0;B--)
		{
			if(b[B]>b[A])
			{
				c[A]=max(c[A],c[B]+1);
			}
		}
	}
	for(int A=0;A<a;A++)
	{
		d[A]=1;
	}
	for(int A=1;A<a;A++)//lds
	{
		for(int B=A-1;B>=0;B--)
		{
			if(b[B]<b[A])
			{
				d[A]=max(d[A],d[B]+1);
			}
		}
	}
	int e=0;
	for(int A=0;A<a;A++)
	{
		e=max(e,c[A]+d[A]-1);
	}
	cout<<a-e;
}
2024/9/2 20:48
加载中...