E. Числа

Codeforces
IDCFE
Time2000ms
Memory256MB
Difficulty
English · Original
Chinese · Translation
Formal · Original
Марина любит нечётные значения. Однажды она выписала на доске все от $A$ до $B$ включительно, а затем стерла те числа, сумма цифр которых чётна. Определите, сколько чисел осталось на доске. Программа получает на вход два натуральных числа $A$ и $B$, $A <=.slant B$. Программа должна вывести единственное число — количество чисел с нечётной суммой цифр из выписанных на доске. Решение правильно работающее для случая, когда числа $A$ и $B$ однозначные, будет оцениваться в 20 баллов. Решение, правильно работающее для случая, когда числа $A$ и $B$ не превосходят 100, будет оцениваться в 40 баллов. Решение, правильно работающее для случая, когда числа $A$ и $B$ не превосходят 10000, будет оцениваться в 60 баллов. В 100 баллов оценивается решение, которое работает для случаев когда числа $A$ и $B$ не превосходят $10^9$. ## Входные Данные Программа получает на вход два натуральных числа $A$ и $B$, $A <=.slant B$. ## Выходные Данные Программа должна вывести единственное число — количество чисел с нечётной суммой цифр из выписанных на доске. ## Примеры Входные данные10 20 Выходные данные5 Входные данные20 20 Выходные данные0 ## Система Оценки Решение правильно работающее для случая, когда числа $A$ и $B$ однозначные, будет оцениваться в 20 баллов.Решение, правильно работающее для случая, когда числа $A$ и $B$ не превосходят 100, будет оцениваться в 40 баллов.Решение, правильно работающее для случая, когда числа $A$ и $B$ не превосходят 10000, будет оцениваться в 60 баллов.В 100 баллов оценивается решение, которое работает для случаев когда числа $A$ и $B$ не превосходят $10^9$. [samples]
在一个王国中有 N 个人。第 i 个人居住在点 #cf_span[(xi, yi)]。你是一个怪物,需要在王国中游走并捕获所有 N 个人。 你的旅程如下: 你需要处理 Q 个查询,分为两种类型: 在本题中,你将获得一个整数 BASE 和多个查询。你需要初始化 #cf_span[T = 0]。 类型 0 的查询表示指定的人移动到点 #cf_span[((a1 * T + b1)%BASE, (a2 * T + b2)%BASE)]。 对于类型 1 的查询,你需要输出从点 #cf_span[((a1 * T + b1)%BASE, (a2 * T + b2)%BASE)] 出发捕获所有人所需的最短时间。你应将 #cf_span[T] 的值更新为计算出的时间。 输入的第一行包含三个整数 #cf_span[N], #cf_span[Q] 和 #cf_span[BASE](#cf_span[0 ≤ N, Q ≤ 10^5], #cf_span[0 ≤ BASE ≤ 10^9])。接下来的 N 行每行包含两个整数 #cf_span[xi] 和 #cf_span[yi](#cf_span[0 ≤ xi, yi ≤ BASE]),表示每个人的坐标。 接下来的 #cf_span[Q] 行包含以下类型的查询: 对于每个类型 1 的查询,输出一个整数——完成捕获所有人旅程所需的最短时间,每个答案占一行。 ## Input 输入的第一行包含三个整数 #cf_span[N], #cf_span[Q] 和 #cf_span[BASE](#cf_span[0 ≤ N, Q ≤ 10^5], #cf_span[0 ≤ BASE ≤ 10^9])。接下来的 N 行每行包含两个整数 #cf_span[xi] 和 #cf_span[yi](#cf_span[0 ≤ xi, yi ≤ BASE]),表示每个人的坐标。接下来的 #cf_span[Q] 行包含以下类型的查询: #cf_span[0] #cf_span[i] #cf_span[a1] #cf_span[b1] #cf_span[a2] #cf_span[b2] #cf_span[1] #cf_span[a1] #cf_span[b1] #cf_span[a2] #cf_span[b2] 其中 #cf_span[i] 是人的编号(#cf_span[1 ≤ i ≤ N]),#cf_span[a1], #cf_span[b1], #cf_span[a2], #cf_span[b2] 是前述的值(#cf_span[0 ≤ a1, b1, a2, b2 ≤ 10^9])。 ## Output 对于每个类型 1 的查询,输出一个整数——完成捕获所有人旅程所需的最短时间,每个答案占一行。 [samples] ## Note 在样例测试用例中,你处理了四个查询: 你计算从 (4, 5) 出发的旅程的最短时间,答案为 28。你输出该答案并将 T 更新为 28; 第 3 个人移动到 (29, 199); 你计算从 (115, 62) 出发的旅程的最短时间,答案为 728。你输出该答案并将 T 更新为 728; 第 2 个人移动到 (1463, 2913)。
**Definitions** Let $ N, Q, \text{BASE} \in \mathbb{Z}_{\geq 0} $ with $ N, Q \leq 10^5 $, $ \text{BASE} \leq 10^9 $. Let $ P = \{(x_i, y_i) \mid i \in \{1, \dots, N\}\} \subseteq [0, \text{BASE})^2 $ be the initial set of person positions. Let $ T \in \mathbb{Z}_{\geq 0} $ be a global state variable, initialized to $ 0 $. Let $ a_1, a_2, b_1, b_2 \in \mathbb{Z} $ be fixed parameters (implied by context). **Constraints** 1. $ 0 \leq N, Q \leq 10^5 $ 2. $ 0 \leq \text{BASE} \leq 10^9 $ 3. $ 0 \leq x_i, y_i < \text{BASE} $ for all $ i \in \{1, \dots, N\} $ 4. For each query: - Type 0: Person moves to $ \left( (a_1 \cdot T + b_1) \bmod \text{BASE},\ (a_2 \cdot T + b_2) \bmod \text{BASE} \right) $ - Type 1: Compute minimum TSP tour length starting from $ \left( (a_1 \cdot T + b_1) \bmod \text{BASE},\ (a_2 \cdot T + b_2) \bmod \text{BASE} \right) $, visiting all $ N $ points, using Manhattan distance: $ d((x_1,y_1), (x_2,y_2)) = |x_1 - x_2| + |y_1 - y_2| $. Update $ T \leftarrow \text{result} $. **Objective** For each query of type 1, output: $$ \min_{\sigma \in S_N} \left( d\left(S, P_{\sigma(1)}\right) + \sum_{i=1}^{N-1} d\left(P_{\sigma(i)}, P_{\sigma(i+1)}\right) \right) $$ where $ S = \left( (a_1 \cdot T + b_1) \bmod \text{BASE},\ (a_2 \cdot T + b_2) \bmod \text{BASE} \right) $, and $ S_N $ is the set of all permutations of $ \{1, \dots, N\} $. Then update $ T \leftarrow $ this minimum value.
API Response (JSON)
{
  "problem": {
    "name": "E. Числа",
    "description": {
      "content": "Марина любит нечётные значения. Однажды она выписала на доске все от $A$ до $B$ включительно, а затем стерла те числа, сумма цифр которых чётна. Определите, сколько чисел осталось на доске. Программа",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CFE"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Марина любит нечётные значения. Однажды она выписала на доске все от $A$ до $B$ включительно, а затем стерла те числа, сумма цифр которых чётна. Определите, сколько чисел осталось на доске.\n\nПрограмма...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "在一个王国中有 N 个人。第 i 个人居住在点 #cf_span[(xi, yi)]。你是一个怪物,需要在王国中游走并捕获所有 N 个人。\n\n你的旅程如下:\n\n你需要处理 Q 个查询,分为两种类型:\n\n在本题中,你将获得一个整数 BASE 和多个查询。你需要初始化 #cf_span[T = 0]。\n\n类型 0 的查询表示指定的人移动到点 #cf_span[((a1 * T + b1)%BASE, ...",
      "is_translate": true,
      "language": "Chinese"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ N, Q, \\text{BASE} \\in \\mathbb{Z}_{\\geq 0} $ with $ N, Q \\leq 10^5 $, $ \\text{BASE} \\leq 10^9 $.  \nLet $ P = \\{(x_i, y_i) \\mid i \\in \\{1, \\dots, N\\}\\} \\subseteq [0, \\text{BASE})...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments