CF2108A.Permutation Warm-Up
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个长度为 n∗ 的排列 p,我们定义函数:
f(p)=i=1∑n∣pi−i∣
给定一个数字 n。你需要计算当考虑从 1 到 n 的所有可能排列时,函数 f(p) 可以取到多少个不同的值。
$ ^{\text{∗}}$ 一个长度为 n 的排列是指由 1 到 n 的 n 个不同整数按任意顺序组成的数组。例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是排列(2 在数组中出现了两次),[1,3,4] 也不是排列(n=3 但数组中出现了 4)。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤100)。接下来是测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤500)——排列中数字的个数。
输出格式
对于每个测试用例,输出一个整数——给定排列长度下函数 f(p) 的不同值的数量。
输入输出样例
输入#1
5 2 3 8 15 43
输出#1
2 3 17 57 463
说明/提示
考虑输入的前两个例子。
对于 n=2,只有 2 个排列——[1,2] 和 [2,1]。f([1,2])=∣1−1∣+∣2−2∣=0,f([2,1])=∣2−1∣+∣1−2∣=1+1=2。因此,函数有 2 个不同的取值。
对于 n=3,已经有 6 个排列:[1,2,3]、[1,3,2]、[2,1,3]、[2,3,1]、[3,1,2]、[3,2,1],对应的函数值分别为 0、2、2、4、4 和 4,总共有 3 个不同的取值。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?