【模板】数列离散化

Luogu
IDLGB3694
Time1000ms
Memory512MB
DifficultyP2
离散化模板题
给定一个长度为 $n$ 的数列 $a$。定义 $\mathrm{rank}(i)$ 表示数列 $a$ 中比 $a_i$ 小的不同数字个数再加一。 对 $1 \leq i \leq n$,现在请你求出所有的 $\mathrm{rank}(i)$。 ## Input **本题单测试点内有多组测试数据**。 输入的第一行是一个整数,表示数据组数 $T$。接下来依次给出每组数据的信息: 第一行是一个整数,表示数列长度 $n$。 第二行有 $n$ 个整数表示数列 $a$,第 $i$ 个整数表示 $a_i$。 ## Output 对每组数据,输出一行 $n$ 个整数,用空格隔开,依次表示 $\mathrm{rank}(1)$ 到 $\mathrm{rank}(n)$。 [samples] ## Note ### 数据规模与约定 对全部的测试点,保证 $1 \leq T \leq 5$,$1 \leq n \leq 10^5$,$-10^9 \leq a_i \leq 10^9$。
Samples
Input #1
3
3
1 2 3
5
1 6 2 2 7
4
-1 -2 -3 -3
Output #1
1 2 3
1 3 2 2 4
3 2 1 1
API Response (JSON)
{
  "problem": {
    "name": "【模板】数列离散化",
    "description": {
      "content": "给定一个长度为 $n$ 的数列 $a$。定义 $\\mathrm{rank}(i)$ 表示数列 $a$ 中比 $a_i$ 小的不同数字个数再加一。 对 $1 \\leq i \\leq n$,现在请你求出所有的 $\\mathrm{rank}(i)$。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3694"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定一个长度为 $n$ 的数列 $a$。定义 $\\mathrm{rank}(i)$ 表示数列 $a$ 中比 $a_i$ 小的不同数字个数再加一。\n\n对 $1 \\leq i \\leq n$,现在请你求出所有的 $\\mathrm{rank}(i)$。\n\n## Input\n\n**本题单测试点内有多组测试数据**。\n\n输入的第一行是一个整数,表示数据组数 $T$。接下来依次给出每组数据的信息:\n\n第一行是...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments