#E. 夢重力

    传统题 3000ms 512MiB

夢重力

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

空を仰げば\\ 青さが僕を\\ 飲み込んでしまう気がしてて\\ 無重力なら楽だろうか\\ 宇宙まで行けたら

—— 夢重力 - Nanatsukaze

在天体的随机运转中,如何找到一个没有重力的点呢?

题目描述

给定一个 n×nn\times n 的网格,其中有 nn 个关键点,保证每行每列各有一个关键点。保证 nn 是偶数。

我们定义网格中的一个无重力区域为网格的连续的 n2\dfrac{n}{2} 行和连续的 n2\dfrac{n}{2} 列构成的大小为 n2×n2\dfrac{n}{2}\times \dfrac{n}{2} 的子正方形,使得其中不包含任意关键点。

定义 f(i,j)f(i,j) 为交换网格的第 ii 行和第 jj 行后,不同的无重力区域个数。请对于所有可能的交换求 f(i,j)f(i,j) 的和,即你需要求:

1i<jnf(i,j)\sum_{1\leq i<j\leq n}f(i,j)

注意求 ff 并不会真正在网格中执行交换,整个过程中不会对网格进行任何修改。

输入格式

第一行一个整数表示 nn。保证 nn 是偶数。

接下来一行 nn 个空格分隔的整数 p1,p2,,pnp_1,p_2,\dots,p_n,表示 nn 个关键点的位置分别是 (1,p1),(2,p2),,(n,pn)(1,p_1),(2,p_2),\dots,(n,p_n)。保证 pp 是一个排列。

输出格式

一行一个整数表示答案。

样例

4
1 2 3 4
8

样例 1 解释

上图中,左上角对应原网格。灰色的部分表示关键点。

下面的 66 个网格分别对应所有可能的交换产生的网格(依次为交换 (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)),并使用红色和蓝色标出存在的无重力区域(紫色的位置表示两个无重力区域的交)。不难看出答案为 2+2+0+0+2+2=82+2+0+0+2+2=8

10
9 8 1 10 7 2 4 3 6 5
27

数据范围

对于所有数据,保证 2n2×1052\leq n\leq 2\times 10^5nn 是偶数,保证 pp 是一个排列。

捆绑测试,共 4 个 Subtask,具体限制如下所示:

  • Subtask 1(12 pts):n10n\leq 10
  • Subtask 2(19 pts):n200n\leq 200
  • Subtask 3(34 pts):n2000n\leq 2000
  • Subtask 4(35 pts):无特殊限制。

【MX-J7】梦熊 J 组 · 回归线赛

未参加
状态
已结束
规则
IOI
题目
5
开始于
2024-10-3 13:30
结束于
2024-10-3 18:00
持续时间
4.5 小时
主持人
参赛人数
290