CF1872D Plus Minus Permutation

题目描述

给定 $3$ 个整数 $n$、$x$、$y$。我们定义一个排列 $p_1, \ldots, p_n$ 的分数为: $$(p_{1 \cdot x} + p_{2 \cdot x} + \ldots + p_{\lfloor \frac{n}{x} \rfloor \cdot x}) - (p_{1 \cdot y} + p_{2 \cdot y} + \ldots + p_{\lfloor \frac{n}{y} \rfloor \cdot y})$$ 换句话说,排列的分数是所有下标能被 $x$ 整除的 $p_i$ 之和,减去所有下标能被 $y$ 整除的 $p_i$ 之和。 你需要求出长度为 $n$ 的所有排列中,分数的最大值。 例如,当 $n=7$,$x=2$,$y=3$ 时,最大分数由排列 $[2,\underline{6},\underline{1},\underline{7},5,\underline{4},3]$ 得到,分数为 $(6+7+4)-(1+4)=17-5=12$。 一个长度为 $n$ 的排列是 $1$ 到 $n$ 的所有整数的任意排列。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是($2$ 出现了两次),$[1,3,4]$ 也不是($n=3$,但包含了 $4$)。

输入格式

输入的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 接下来每个测试用例占一行,每行包含三个整数 $n$、$x$、$y$($1 \le n \le 10^9$,$1 \le x, y \le n$)。

输出格式

对于每个测试用例,输出一个整数,表示长度为 $n$ 的所有排列中分数的最大值。

说明/提示

第一个测试用例的解释见题面。 第二个测试用例中,一个最优排列为 $[12,11,\underline{2},4,8,\underline{9},10,6,\underline{1},5,3,\underline{7}]$,其分数为 $(9+7)-(2+9+1+7)=-3$。可以证明分数不可能超过 $-3$。注意答案可能为负数。 第三个测试用例中,排列的分数为 $(p_1+p_2+\ldots+p_9)-p_9$。一个最优排列为 $[9,8,7,6,5,4,3,2,1]$,其分数为 $44$。可以证明分数不可能超过 $44$。 第四个测试用例中,$x=y$,所以任意排列的分数都是 $0$。 由 ChatGPT 4.1 翻译