AT_abc454_g.[ABC454G] Mode in the Subtree

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

頂点に $ 1 $ から $ N $ の番号がついた $ N $ 頂点の根付き木が与えられます。頂点 $ 1 $ が根で、頂点 $ i $ の親は頂点 $ p_i $ です( $ p_i \lt i $ )。
各頂点には色が塗られていて、頂点 $ i $ は色 $ c_i $ で塗られています( $ 1 \leq c_i \leq N $ )。
$ v = 1, 2, \dots, N $ について次の問題を解いてください。

$ f_i $ を「頂点 $ v $ の部分木に含まれる頂点のうち色 $ i $ で塗られた頂点の個数」とします。

  • 数列 $ (f_1, f_2, \dots, f_N) $ に含まれる値の最大値 $ m $ 、および
  • $ f_i = m $ であるような $ N $ 以下の正整数 $ i $ の個数 $ k $

を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

$ N $ $ \mathrm{seed} $ $ M $ $ F $ $ q_2 $ $ q_3 $ $ \dots $ $ q_M $ $ d_1 $ $ d_2 $ $ \dots $ $ d_M $

输出格式

$ \left(\displaystyle \sum_{i=1}^N (m_i \oplus i)\times (k_i \oplus i)\right) \bmod 998244353 $ を出力せよ。

输入输出样例

  • 输入#1

    4 454 4 2
    1 2 2
    1 2 2 3

    输出#1

    29
  • 输入#2

    6 123 2 2
    1
    1 2

    输出#2

    101
  • 输入#3

    15 1 4 5
    1 2 3
    5 3 1 3

    输出#3

    1199

说明/提示

入出力の形式

今回の問題の入出力は特殊な形式で行われます。

入力の形式

標準入力からは整数 $ N $ に加えて整数 $ \mathrm{seed}, M, F $ および $ q_2, q_3, \dots, q_M $ , $ d_1, d_2, \dots, d_M $ が与えられます。この時、以下の擬似コードで表される計算によって $ p_2, p_3, \dots, p_N $ および $ c_1, c_2, \dots, c_N $ を復元してください。(ここで 2^31 は $ 2^{31}=2147483648 $ を意味します。また、 $ \mathrm{state} $ は変数である点、および $ \mathrm{state} $ の計算に $ 64 $ bit 整数型が必要である点に注意してください。)

state = seed

for i=2 to N:
 if i <= M:
   p[i] = q[i]
 else:
   p[i] = (state mod (i-1)) + 1
   state = (state * 1103515245 + 12345) mod 2^31

for i=1 to N:
 if i <= M:
   c[i] = d[i]
 else:
   c[i] = (state mod F) + 1
   state = (state * 1103515245 + 12345) mod 2^31

出力の形式

$ v=i $ の時の $ m,k $ をそれぞれ $ m_i, k_i $ とおきます。

$ \left(\displaystyle \sum_{i=1}^N (m_i \oplus i)\times (k_i \oplus i)\right) \bmod 998244353 $

を出力してください。ここで $ \oplus $ はビットごとの排他的論理和を意味します。計算過程でのオーバーフローに注意してください。

Sample Explanation 1

  • $ i=1 $ : $ m_1=2,k_1=1, (m_1 \oplus 1) \times (k_1 \oplus 1) = 0 $
  • $ i=2 $ : $ m_2=2,k_2=1, (m_2 \oplus 2) \times (k_2 \oplus 2) = 0 $
  • $ i=3 $ : $ m_3=1,k_3=1, (m_3 \oplus 3) \times (k_3 \oplus 3) = 4 $
  • $ i=4 $ : $ m_4=1,k_4=1, (m_4 \oplus 4) \times (k_4 \oplus 4) = 25 $

です。よって $ 0+0+4+25=29 $ を出力します。

Sample Explanation 2

このテストケースにおける $ p_i, c_i $ の値は次の通りです。

  • $ p = (1, 2, 1, 2, 3) $
  • $ c = (1, 2, 2, 1, 2, 1) $

Sample Explanation 3

このテストケースにおける $ p_i, c_i $ の値は次の通りです。

  • $ p = (1, 2, 3, 2, 1, 4, 7, 6, 5, 10, 1, 10, 2, 8) $
  • $ c = (5, 3, 1, 3, 4, 2, 2, 2, 4, 2, 2, 5, 3, 5, 3) $

Constraints

  • $ 2 \leq N \leq 2.5 \times 10^6 $
  • $ 1 \leq p_i \lt i $
  • $ 1 \leq c_i \leq N $
  • $ 1 \leq \mathrm{seed} \lt 2^{31} $
  • $ 2 \leq M \leq \min(N, 10^5) $
  • $ 1 \leq F \leq N $
  • $ 1 \leq q_i \lt i $
  • $ 1 \leq d_i \leq N $
  • 入力される値は全て整数

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

首页