#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 110;
int n;
int h[N];
int f[N];
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
scanf("%d", &h[i]);
}
int res = 0;
for(int i = 0; i < n; i++)//从前往后
{
f[i] = 1;
for(int j = 0; j < i; j++)
{
if(h[i] < h[j])
{
f[i] = max(f[i], f[j] + 1);
}
}
res = max(res, f[i]);
}
memset(f, 0, sizeof f);
for(int i = n - 1; i >= 0; i--)//从后往前
{
f[i] = 1;
for(int j = n - 1; j > i; j--)
算法提高课——AcWing 1017. 怪盗基德的滑翔翼
最新推荐文章于 2024-09-06 14:21:16 发布
本文详细探讨了AcWing在线编程平台上的1017题——怪盗基德的滑翔翼。通过分析题目背景,我们引入了图论的基本概念,并利用深度优先搜索(DFS)或广度优先搜索(BFS)策略解决此问题。文章还提供了C++代码实现,帮助读者理解算法思路并提高编程能力。
摘要由CSDN通过智能技术生成