U151263 GCD 卷积

题目描述

定义一种新的卷积 —— GCD卷积,其接受两个长度为 $n$ 的序列 $f,g$ ,依据下式生成长度为 $n$ 的序列 $h$ : $$ h_k = \sum_{\gcd(i,j) = k} f_i g_j $$ 现给定序列 $f,g$ ,求各 $h_i$ 对 $998244353$ 取模后的值。

输入格式

第一行输入一个正整数 $n$ ,表示 $f,g$ 的长度。 第二行输入 $n$ 个整数 $f_i$ 。 第三行输入 $n$ 个整数 $g_i$ 。

输出格式

为减少输出量,只需输出1个整数,表示各 $h_i$ 对 $998244353$ 取模后的异或和。

说明/提示

对于 $20\%$ 的数据,$1 \le n \le 2000$。 对与 $100\%$ 的数据,$1 \le n \le 4 \times 10^5$,$0 \le f_i, g_i \le 998244352$。 [题目来源](https://www.cnblogs.com/sun123zxy/p/14014070.html) 样例1解释: $ \begin{aligned} h_1 &= f_1 ( g_1 + g_2 + g_3 ) + g_1 (f_2 + f_3) + f_2 g_3 + f_3 g_2 = 65 \\ h_2 &= f_2 g_2 = 3 \\ h_3 &= f_3 g_3 = 12 \end{aligned} $ $ 65 \oplus 3 \oplus 12 = 78 $