AT_agc073_a.[AGC073A] Chords and Checkered

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定整数 L,KL, K 以及一个长度为 NN 的非负整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。这里保证 2K<L2K < L 且 0≤A1<A2<⋯<AN<L0 \leq A_1 < A_2 < \cdots < A_N < L。

现有一个周长为 LL 的圆。在这个圆上的任意一点选为参考点,将沿圆周顺时针方向距离 xx 的点记作坐标为 xx 的点。对于每个 ii(1≤i≤N1 \leq i \leq N),考虑连接坐标为 AiA_i 和 Ai+KA_i + K 的两点的弦,称该弦为第 ii 条弦。

对于一个弦集合 ss,其得分按以下流程确定:

  • 画出集合 ss 中所有的弦。这些弦将圆分割成若干个区域;用黑白两色对这些区域进行染色。首先,将包含圆心的区域染为白色,其余区域以相邻区域(被长度大于零的线段连接)的颜色不同原则交替染色。可以证明这种染色方式总是存在且唯一。得分即为被染成黑色的区域数。

总共有 2N2^N 种取值的弦集合 ss。请计算所有这些集合的得分之和,并对 998244353998244353 取模后输出。

输入格式

输入通过标准输入给出,格式如下:

LL KK NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    5 2 2
    0 1

    输出#1

    4
  • 输入#2

    3 1 1
    2

    输出#2

    1
  • 输入#3

    5 2 5
    0 1 2 3 4

    输出#3

    80
  • 输入#4

    7 3 3
    0 2 3

    输出#4

    12

说明/提示

样例解释 1

  • 不选任何弦时,得分为 00。
  • 只选第 11 条弦时,得分为 11。
  • 只选第 22 条弦时,得分为 11。
  • 选第 1,21, 2 条弦时,得分为 22。

因此答案为 44,即这些情况的得分之和。

数据范围

  • 1≤K1 \leq K
  • 2K<L≤1092K < L \leq 10^9
  • 1≤N≤2500001 \leq N \leq 250000
  • 0≤A1<A2<⋯<AN<L0 \leq A_1 < A_2 < \cdots < A_N < L
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页