• 2022ICPC 网络赛第二场 B Non-decreasing Array(区间dp)


    You are given a non-decreasing array of integers a1​,a2​,…,an​. In one operation, when the current length of the array is m:

    • Firstly you can choose an index i(1
    • Secondly you can choose an index i(1

    You should ensure that the array is non-decreasing after every delete or change.

    Now you want to know that after operating k(1≤k≤n) times, when the current length of the array is m, what is the maximum value of ∑m  i=2   ​(ai​−ai−1​)^2.

    You need to answer for each k(1≤k≤n), different queries are independent of each other.

    输入格式:

    The first line contains one integer n(3≤n≤100).

    The second line contains n integers a1​,a2​,...,an​(−10^9≤ai​≤10^9).

    输出格式:

    Output n lines, each of which contains a single integer—the i-th number is for the answer of k=i.

    输入样例:

    1. 5
    2. 1 2 3 4 5

    输出样例:

    1. 10
    2. 16
    3. 16
    4. 16
    5. 16

    类似于石子合并题    两次操作可以看作两次删除(修改、删除)。那么最多删除n-2个 , 操作次数k最多为(n-2)/2

    使得题目要求的值最大的方法就是删除  除头尾之外的所有值 

    1. #include
    2. #include
    3. using namespace std;
    4. typedef long long ll;
    5. const int N = 110;
    6. int n , m , res;
    7. int a[N] , f[N][N];//到第i个数的位置 删除了j个 , 保留第一个和最后一个
    8. int main()
    9. {
    10. cin >> n ;
    11. for(int i = 1 ; i <= n ; i++ ){
    12. cin >>a[i] ;
    13. }
    14. for(int i = 1; i <= n ;i++){ //到i位置时
    15. for(int j = 0 ; j <= i - 2 ; j++){//删除j个数时
    16. for(int k = 0 ; k <= j ; k++){
    17. int pos = i-k-1;//i位置的前一个未删除的元素
    18. f[i][j] = max( f[i][j] , f[pos][j-k] + (a[i]-a[pos])*(a[i]-a[pos]) ) ;
    19. }
    20. }
    21. }
    22. for(int i = 1 ; i <= n ; i++)
    23. {
    24. if( i * 2 > n - 2 ) cout << f[n][n-2] << '\n';
    25. else cout << f[n][2 * i] << '\n';
    26. }
    27. return 0;
    28. }
  • 相关阅读:
    网络安全必学SQL注入
    std::this_thread
    记录一下Jetson突然无法识别csi219相机笔记
    现代物流有哪些特点?
    一文详解 WebSocket 网络协议
    数据中台:中台实践与总结
    less 用法
    Rust教程:How to Rust-变量
    【云驻共创】HCSD 大咖直播–就业指南
    微服务学习|初识Docker、使用Docker、自定义镜像、DockerCompose、Docker镜像仓库
  • 原文地址:https://blog.csdn.net/weixin_53439401/article/details/128007174