T284650 easy

题目背景

gyy懒得给这题也写个背景......不如直接看题吧。 性质题,我评个紫不过分把

题目描述

有一个字符串 $t$,初始为空。 现在,要对其进行 $n$ 次操作,每次操作首先给出一个字符 $c$: - 若 $t$ 为空,则令 $t=cc$。 - 否则,交换 $t$ 的第 $2,3$ 个字符,第 $4,5$ 个字符......第 $|t|-2,|t|-1$ 个字符;之后,再将 $c$ 分别插 入 的第 $2$ 位和倒数第 $2$ 位。 gyy觉得这个操作十分有意思。经过观察,他发现,每次操作完后,$t$ 都是一个偶回文串! 不仅如此,他还发现,$t$ 的偶回文前缀也特别多。所以,他想让你统计一下每次操作之后偶回文前缀的个数。 但他转念一想,这似乎对你来说太简单了。于是,他改为要求你统计每次操作之后偶回文前缀的哈希值之和,并强制在线地回答询问。 同时,他给出了一个数字 $k$ 用来减小输出量。你只需要每 次操作后输出一个数表示这 $k$ 次操作的答案的异或和即可。 具体细节或者一些可能出现的疑问请参见输入输出格式及说明。

输入格式

第一行一个字符串 $s$。 第二行一个数 $k$ 用于减小输出量。 强制在线方式:记第 $i$ 次操作后答案为 $ans_i$,则第 $i$ 次操作给出的字符 $c=(ans_{i-1}+s_i-\text{ASCII}(a))\bmod 26+\text{ASCII}(a)$ 。特别规定 $ans_0=0$。

输出格式

你要输出 $\lfloor \frac{|s|}{k}\rfloor$ 行,第 $i$ 行表示 $ans_{k(i-1)+1}\ \text{xor}\cdots \text{xor} \ ans_{ki}$。 **哈希方式**:选取 $B=131$ 为底数,$MOD=2^{64}$ 为模数,则一个字符串 $s$ 的哈希值为:$(\sum_{i=1}^{|s|}(\text{ASCII}(s_i)-\text{ASCII}(a))B^{|s|-i})\bmod MOD$ 例如,"abc" 的哈希值为 $(0\times B^2+1\times B^1+2\times B^0)\bmod MOD=133$。

说明/提示

### 样例1解释 第1次操作,$c=a$,操作后 $t=aa$,有一个偶回文前缀 $aa$。 第2次操作,$c=b$,操作后 $t=abba$,有一个偶回文前缀 $abba$。 第3次操作,$c=a$,操作后 $t=aabbaa$,有两个偶回文前缀 $aa$ 和 $aabbaa$。 第4次操作,$c=b$,操作后 $t=abbaabba$,有两个偶回文前缀 $abba$ 和 $abbaabba$。 第5次操作,$c=a$,操作后 $t=aabbaabbaa$,有三个偶回文前缀 $aa,aabbaa,aabbaabbaa$。 第6次操作,$c=b$,操作后 $t=abbaabbaabba$,有三个偶回文前缀 $abba,abbaabba,abbaabbaabba$。 ### 数据范围和提示 对于前 $30\%$ 的数据,$|s|\le1000$。 对于前 $50\%$ 的数据,$|s|\le{10}^5$。 对于所有的数据,$1\le k\le |s|\le 5\times {10}^6$。 以下是一些定义: $|s|$ 表示字符串 $s$ 的长度。 $s_i$ 表示字符串 $s$ 的第 $i$ 个字符,从 $1$ 开始编号。 回文串是指满足 $\forall 1\le i\le |s|,s_i=s_{|s|+1-i}$ 的字符串 。 “偶回文串”是指长度为偶数,且是回文串的字符串。 “偶回文前缀”是指是偶回文串且是原串前缀的字符串