0%

    求出所有子序列的能量和


    给你一个长度为 n 的整数数组 nums 和一个 整数 k

    一个子序列的 能量 定义为子序列中 任意 两个元素的差值绝对值的 最小值

    请你返回 nums 中长度 等于 k所有 子序列的 能量和

    由于答案可能会很大,将答案对 109 + 7 取余 后返回。

    示例 1:

    输入: nums = [1,2,3,4], k = 3

    输出: 4

    解释:

    nums 中总共有 4 个长度为 3 的子序列:[1,2,3][1,3,4][1,2,4][2,3,4] 。能量和为

    |2 - 3| + |3 - 4| + |2 - 1| + |3 - 4| = 4

    示例 2:

    输入: nums = [2,2], k = 2

    输出: 0

    解释:

    nums 中唯一一个长度为 2 的子序列是 [2,2] 。能量和为 |2 - 2| = 0

    示例 3:

    输入: nums = [4,3,-1], k = 2

    输出: 10

    解释:

    nums 总共有 3 个长度为 2 的子序列:[4,3][4,-1][3,-1] 。能量和为 `|4 - 3| + |4 -

    (-1)| + |3 - (-1)| = 10` 。

    提示:

    • 2 <= n == nums.length <= 50

    • -108 <= nums[i] <= 108

    • 2 <= k <= n

阅读全文 »

    最小化曼哈顿距离


    给你一个下标从 0 开始的数组 points ,它表示二维平面上一些点的整数坐标,其中 points[i] = [xi, yi]

    两点之间的距离定义为它们的曼哈顿距离。

    请你恰好移除一个点,返回移除后任意两点之间的 最大 距离可能的 最小 值。

    示例 1:

    **输入:** points = [[3,10],[5,15],[10,2],[4,4]]**输出:** 12**解释:** 移除每个点后的最大距离如下所示:- 移除第 0 个点后,最大距离在点 (5, 15) 和 (10, 2) 之间,为 |5 - 10| + |15 - 2| = 18 。- 移除第 1 个点后,最大距离在点 (3, 10) 和 (10, 2) 之间,为 |3 - 10| + |10 - 2| = 15 。- 移除第 2 个点后,最大距离在点 (5, 15) 和 (4, 4) 之间,为 |5 - 4| + |15 - 4| = 12 。- 移除第 3 个点后,最大距离在点 (5, 15) 和 (10, 2) 之间的,为 |5 - 10| + |15 - 2| = 18 。在恰好移除一个点后,任意两点之间的最大距离可能的最小值是 12 。

    示例 2:

    **输入:** points = [[1,1],[1,1],[1,1]]**输出:** 0**解释:** 移除任一点后,任意两点之间的最大距离都是 0 。

    提示:

    • 3 <= points.length <= 105

    • points[i].length == 2

    • 1 <= points[i][0], points[i][1] <= 108

阅读全文 »

    对于每组数据,给定 $n$ , $m$ 与数组 $a$ 的第 $2$ 到 $n$ 项和数组 $b$ 的第 $1$ 到 $n$ 项。你需要根据 $a$ 数组求出 $m$ 个 $c$ 数组的值,具体地:

    • $c[i]_1 = i$

    • $c[i]_j = a_j (2 \le j \le n)$

    对于每一个独立的 $c[i]$ 数组与互不影响的 $b$ ,你可以将 $b$ 、 $c[i]$ 数组中的数字随意排序,再随意删除 $c[i]$ 与 $b$ 中的 $k$ 个数,对于每一个 $c[i]$ 数组,求最小的 $k[i]$ 使得 $ \forall 1\le j \le n, c[i]_j < b_j$,输出所有 $c[i]$ 的删除数 $k[i]$ 的和。

阅读全文 »

    设正奇数集合为$\mathrm{A}$,正偶数集合为$\mathrm{B}$,这两个集合是无限集。

    在黑板上写了无数轮数,第$i$轮写下了$2^{(i-1)}$个数.

    当$i$为奇数时,从集合$\mathrm{A}$中向后取数,当$i$为偶数时,从集合$\mathrm{B}$中向后取数。

    求黑板上第$l$个数到第$r$个数的和,模$\mathrm{1000000007}$($10^9+7$)。

    $1 \le l,r \le 10^{18}$

阅读全文 »

    你有一个序列 $a$,你可以进行 $2$ 种操作:

    • 选择前 $k$ 个数,将它们全部减 $1$

    • 选择后 $k$ 个数,将它们全部减 $1$

    $k$ 由你自己定,并且每次操作可以不同。

    问是否可以把通过若干次操作整个序列变为全是 $0$ 的序列

    本题多测,有 $t$ 组数据

    $t \le 30000$,$\sum n \le 30000$,$a_i \le {10}^6$

阅读全文 »

    树是一个没有环的无向连通图,注意,在本题中,我们讨论的是无根树

    现有四个整数 $ n, d_{12}, d_{23} $ 和 $ d_{31} $ . 构建一颗满足以下条件的树:

    • 包含从 $ 1 $ 到 $ n $ 的 $n$ 个节点,

    • 从节点 $ 1 $ 到节点 $ 2 $ 的距离(最短路的长度)为 $ d_{12} $ ,

    • 从节点 $ 2 $ 到节点 $ 3 $ 的距离为 $ d_{23} $ ,

    • 从节点 $ 3 $ 到节点 $ 1 $ 的距离为 $ d_{31} $ .

    输出满足条件的任意一棵树;若不存在,请~~证明~~.

    输入

    第一行包含一个整数 $ t $ ( $ 1 \le t \le 10^4 $ ) 表示测试组数.

    接下来 $ t $ 组, 每组一行数据包含 $4$ 个整数 $ n, d_{12}, d_{23} $ and $ d_{31} $ ( $ 3 \le n \le 2\cdot10^5; 1 \le d_{12}, d_{23}, d_{31} \le n-1 $ ).

    输入数据保证所有 $ n $ 不超过 $ 2\cdot10^5 $ .

    输出

    对于每一组数据,若存在这种树,输出YES;若不存在,输出NO.

    对于存在的情况,额外输出 $ n-1 $ 行来描述这棵树的边(一对正整数 $ x_i, y_i $ 表示第 $ i $ 条边连接第 $ x_i $ 号节点和第 $ y_i $ 号节点.

    你可以按照任何顺序输出这些边及其顶点,若有多种解,输出其中一种即可.

阅读全文 »