305627: CF1065E. Side Transmutations
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Side Transmutations
题意翻译
考虑一个字符集合$A$($A$中元素互不相同)和一个长度为$n$的字符串$S$,其中$S$中的字符都属于集合$A$。 给你一个包含 $m$ 个整数的序列 $b$ ($b_1<b_2<\dots<b_m$)。你可以对字符串 $S$ 作以下的操作: 1.选择一个合法的 $i$ ,并且令 $k=b_i$ ; 2.取出 $S$ 中前 $k$ 个字符 $Pr_k$ ; 3.取出 $S$ 中后 $k$ 个字符$Su_k$ ; 4.将 $S$ 中前 $k$ 个字符替换成翻转后的 $Su_k$ ; 5.将 $S$ 中后 $k$ 个字符替换成翻转后的 $Pr_k$ ; 举个例子,我们令 $S=$ "abcdefghi",$k=2$ 。这时$Pr_2=$ "ab",$Su_2=$ "hi",翻转后有 $Pr_2=$ "ba",$Su_2=$ "ih",那么最终得到的字符串 $S$ 就是 "ihcdefgba"。 这个操作可以被执行许多次(可能是零次),任何一个 $i$ 也可以被使用多次。 我们将字符串 $S$ 和 $T$ 称为相等的字符串,当且仅当存在一个操作序列,将字符串 $S$ 变成 $T$。对于上面的例子来说,"abcdefghi" 和 "ihcdefgba" 是相等的。注意到 $S$ 和它自己也是相等的。 你的任务很简单,数出互不相同的字符串的个数。 最终的答案可能会非常大,因此你只需要输出答案 $mod$ $998244353$ 的结果。 输入格式: 第一行包括三个整数 $n$,$m$ 和 $|A|$($2 \leq n \leq 10^9$,$1 \leq m \leq min(\frac{n}{2},2 * 10^5)$,$1\leq |A|\leq 10^9$),分别是字符串的长度,序列 $b$ 的大小,以及字符集 $A$ 的大小。 第二行包括 $m$ 个整数: $b_1,b_2,\dots,b_m$。 输出格式: 输出一个整数,即答案 $mod$ $998244353$ 的结果。题目描述
Consider some set of distinct characters $ A $ and some string $ S $ , consisting of exactly $ n $ characters, where each character is present in $ A $ . You are given an array of $ m $ integers $ b $ ( $ b_1 < b_2 < \dots < b_m $ ). You are allowed to perform the following move on the string $ S $ : 1. Choose some valid $ i $ and set $ k = b_i $ ; 2. Take the first $ k $ characters of $ S = Pr_k $ ; 3. Take the last $ k $ characters of $ S = Su_k $ ; 4. Substitute the first $ k $ characters of $ S $ with the reversed $ Su_k $ ; 5. Substitute the last $ k $ characters of $ S $ with the reversed $ Pr_k $ . For example, let's take a look at $ S = $ "abcdefghi" and $ k = 2 $ . $ Pr_2 = $ "ab", $ Su_2 = $ "hi". Reversed $ Pr_2 = $ "ba", $ Su_2 = $ "ih". Thus, the resulting $ S $ is "ihcdefgba". The move can be performed arbitrary number of times (possibly zero). Any $ i $ can be selected multiple times over these moves. Let's call some strings $ S $ and $ T $ equal if and only if there exists such a sequence of moves to transmute string $ S $ to string $ T $ . For the above example strings "abcdefghi" and "ihcdefgba" are equal. Also note that this implies $ S = S $ . The task is simple. Count the number of distinct strings. The answer can be huge enough, so calculate it modulo $ 998244353 $ .输入输出格式
输入格式
The first line contains three integers $ n $ , $ m $ and $ |A| $ ( $ 2 \le n \le 10^9 $ , $ 1 \le m \le min(\frac n 2, 2 \cdot 10^5) $ , $ 1 \le |A| \le 10^9 $ ) — the length of the strings, the size of the array $ b $ and the size of the set $ A $ , respectively. The second line contains $ m $ integers $ b_1, b_2, \dots, b_m $ ( $ 1 \le b_i \le \frac n 2 $ , $ b_1 < b_2 < \dots < b_m $ ).
输出格式
Print a single integer — the number of distinct strings of length $ n $ with characters from set $ A $ modulo $ 998244353 $ .
输入输出样例
输入样例 #1
3 1 2
1
输出样例 #1
6
输入样例 #2
9 2 26
2 3
输出样例 #2
150352234
输入样例 #3
12 3 1
2 5 6
输出样例 #3
1