• CodeForces


    CF1462D Add to Neighbour and Remove

    题目大意:

    给定长度为n的序列a,每次操作可以选择相邻的数合并为一个数,求使得序列中所有元素相同的最少操作数量。

    思路:

    不难想到我们可以通过前缀和来加速合并的过程。

    答案一定有解,即下界为0,上界为序列长度n-1。

    那么我们可以考虑一个(O(n^2))的算法,因为要求最终的序列每个元素相同,也就相当于把原序列分成若干段,每一段的和相同,所以我们可以O(n)枚举第一段的长度,再O(n)考察后面是否能得到sum相同的若干段。

    Code:
    import java.util.Scanner;
    
    public class Main {
        public static final int N = 3010;
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int TestCase = sc.nextInt();
            for (int Ts = 0; Ts < TestCase; Ts++) {
                int ans = 0;
                int n = sc.nextInt();
                int[] a = new int[N];
                int[] pre = new int[N];
                for (int i = 1; i <= n; i++) {
                    a[i] = sc.nextInt();
                    pre[i] = pre[i - 1] + a[i];
                }
                for (int i = 1; i <= n; i++) {
                    int tmpSum = 0;
                    boolean ok = false;
                    for (int j = 1; j <= n; j++) {
                        tmpSum += a[j];
                        ans++;
                        if (tmpSum == pre[i]) {
                            ans--;
                            tmpSum = 0;
                            if (j == n) {
                                ok = true;
                                break;
                            }
                        } else if (tmpSum > pre[i]) {
                            break;
                        }
                    }
                    if (ok) {
                        System.out.println(ans);
                        break;
                    } else {
                        ans = 0;
                    }
                }
            }
        }
    }
    
  • 相关阅读:
    win7下jdk安装环境变量配置
    !function($){}(window.jQuery)
    转载几篇
    YeeLink
    坑爹JDK8,可怜的XP
    一致性Hash
    CSS
    仿函数
    launch4j
    GOAL!!!!!!!!!!!!!
  • 原文地址:https://www.cnblogs.com/Nepenthe8/p/14290549.html
Copyright © 2020-2023  润新知