CF911D Inversion Counting

题目描述

一个大小为 $n$ 的排列是一个长度为 $n$ 的数组,其中每个 $1$ 到 $n$ 的整数在该数组中恰好出现一次。在一个排列 $p$ 中,若存在一对下标 $(i, j)$ 满足 $i>j$ 且 $a_{i}

输入格式

第一行包含一个整数 $n$,表示排列的长度,$1\leq n\leq 1500$。 第二行包含 $n$ 个两两不同的整数 $a_1, a_2, ..., a_n$,其中 $1 \leq a_i \leq n$。 第三行包含一个整数 $m$,表示操作的数量,$1\leq m\leq 2\times 10^{5}$。 接下来 $m$ 行,每行包含两个整数 $l_i, r_i$($1\leq l_i\leq r_i\leq n$),表示对排列 $a$ 的区间 $[l_i, r_i]$ 进行反转。所有操作依次进行。

输出格式

输出共 $m$ 行,每行输出一个单词。如果第 $i$ 次操作后排列中的逆序对数为奇数,则输出 "odd";否则输出 "even"。

说明/提示

第一个样例说明: 1. 第一次操作后 $a=[2,1,3]$,逆序对为 $(2,1)$; 2. 第二次操作后 $a=[2,3,1]$,逆序对为 $(3,1)$、$(3,2)$。 第二个样例说明: 1. $a=[1,2,4,3]$,逆序对为 $(4,3)$; 2. $a=[3,4,2,1]$,逆序对为 $(3,1)$、$(4,1)$、$(3,2)$、$(4,2)$、$(4,3)$; 3. $a=[1,2,4,3]$,逆序对为 $(4,3)$; 4. $a=[1,4,2,3]$,逆序对为 $(3,2)$、$(4,2)$。 由 ChatGPT 5 翻译