0
点赞
收藏
分享

微信扫一扫

Java POJ 合唱队形

90哦吼 2022-03-26 阅读 35
java

public class hechangduixing {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int ans = Integer.MIN_VALUE;
        int[] a = new int[n + 2];
        int[][] f = new int[2][n + 2];
        for (int i = 1; i < a.length-1; i++) {
            a[i] = sc.nextInt();
        }
        for (int i = 1; i <= n; i++)
            // 从1到n求最长升
            for (int j = 0; j < i; j++)
                if (a[i] > a[j])
                    f[0][i] = Math.max(f[0][i], f[0][j] + 1);
        a[n +1] = 0;
        for (int i = n; i>=1; i--)
            // 从n到1求最长升
            for (int j = n + 1; j > i; j--)
                if (a[i] > a[j])
                    f[1][i] = Math.max(f[1][i], f[1][j] + 1);
        for (int i = 1; i <= n; i++)
            ans = Math.max(f[0][i] + f[1][i] - 1, ans);// 枚举Ti,从1到Ti的最长升+从TK到Ti的最长升-1(Ti被加了两次)
    System.out.println(n-ans);
    }

}

举报

相关推荐

0 条评论