2022蓝桥杯大赛软件类省赛Java大学B组G题 数组切分

简介: 2022蓝桥杯大赛软件类省赛Java大学B组G题 数组切分


import java.util.Scanner;
 
public class Main {
    static final int MOD = 1000000007;
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] a = new int[n+1];
        long[] dp= new long[n+1];
        for (int i = 1; i <= n; ++i) {
            a[i] = scanner.nextInt();
        }
        dp[0] = 1;
        /*
        * 审题
        * 全排列是指没有重复数字
        * 如果索引1-3最大值是1和3就代表1,2,3均出现过了
        * */
        for (int i = 1; i <= n; ++i) {
            int mx = a[i], mi = a[i];
            for (int j = i; j >= 1; j--) {
                mx = Math.max(mx, a[j]);
                mi = Math.min(mi, a[j]);
                //线性dp
                if (mx - mi == i - j) {
                    dp[i] = (dp[i] + dp[j - 1]) % MOD;
                }
            }
        }
        System.out.println(dp[n]);
    }
}


目录
相关文章
|
1天前
|
存储 Java
心得经验总结:浅谈Java类中的变量初始化顺序
心得经验总结:浅谈Java类中的变量初始化顺序
|
1天前
|
存储 Java
一篇文章讲明白JAVA类与对象(六)
一篇文章讲明白JAVA类与对象(六)
|
2天前
|
Java 机器人 程序员
深入理解Java中的类与对象:封装、继承与多态
深入理解Java中的类与对象:封装、继承与多态
|
2天前
|
Java 机器人 关系型数据库
Java中的类与接口:抽象与实现的艺术
Java中的类与接口:抽象与实现的艺术
|
2天前
|
Java
java反射-获取类的属性、构造方法、方法
java反射-获取类的属性、构造方法、方法
4 0
|
2天前
|
Java
java反射-获取类的Class对象方式
java反射-获取类的Class对象方式
4 0
|
2天前
|
存储 自然语言处理 Java
Java-File类与IO流(2)
Java-File类与IO流(2)
6 0
|
2天前
|
JSON Java 数据格式
IDEA插件-JSON转java类
IDEA插件-JSON转java类
13 0
|
2天前
|
Java
java档案类
java档案类
4 0
|
2天前
|
存储 Java 测试技术
Java-File类与IO流(1)
Java-File类与IO流(1)
8 0