1. 程式人生 > >xj膜你賽24

xj膜你賽24

昆特牌(gwent)

題目描述

作為一個資深OIer,你被邀請到位於波蘭的CDPR總部參觀。但沒想到你剛一到就遇到了麻煩。昆特牌的資料庫發生了故障。原本昆特牌中有 種卡牌和 種陣營,為了平衡,每個陣營擁有的卡牌種數都是相等的,並且每個陣營的資料順序排列。由於故障,卡牌資料被打亂了,每個陣營現在有 種卡牌。因為昆特牌即將迎來重大更新,每種牌的所屬陣營並不重要,工程師只想儘快讓每個陣營擁有相同數量的卡牌。由於資料庫的結構原因,你每單位時間只能將一種牌向左邊或右邊相鄰的一個陣營移動。作為OI選手,這自然是難不倒你,但作為一名卡牌遊戲愛好者,你想知道最終的卡牌分佈有多少種方案。兩種方案不同當且僅當存在一種卡牌,它在兩種方案中所屬陣營不同。對 \(998244353\)

取模

資料格式

輸入格式

第一行一個整數 \(T\) ,表示資料組數。
接下來每組資料,第一行一個整數 ,第二行 \(n\) 個數,第 \(i\) 個數為 \(a_i\) ,意義見題目描述。

輸出格式

\(T\) 行,每行一個數表示答案。

樣例輸入1

3
3
2 1 3
3
1 2 3
3
3 2 1

樣例輸出1

3
9
9

樣例解釋

對於第一組資料,初始為{{1,2}{3}{4,5,6}}
移動結束後為{{1,2}{3,4}{5,6}},{{1,2}{3,6}{4,5}},{{1,2}{3,5}{4,6}}

樣例輸入2

4
3
8 1 0
4
5 0 1 2
4
0 4 0 0
4
1 1 6 0

樣例輸出2

1120
30
24
270

資料範圍

\(n|k,\sum_{i=1}^n a_i=k,T\le 500,n\le 1000000,k\le 1000\)

分析

時空幻境(braid)

Tim擁有控制時間的能力。他學會了BFS後,出了一道題:求出一張無向圖中連通塊的個數。他想請你做出這道題
來。

資料格式

輸入格式

第一行一個整數 \(T\) ,表示資料組數。
對每組資料, \(n,m\) 表示點數和邊數。
為防止輸入資料過大,邊的資訊以種子形式給出。輸入 \(x,k\) ,表示 \(a_1=x,a_i=a_{i-1}* k \mod n\) ,點從 \(0\) 開始標號
\(i\)

條邊的端點為 \(a_{2i-1},a{2i}\)

輸出格式

\(T\) 行,每行一個數,表示聯通塊的個數。

樣例1

輸入樣例1

1
998244353 4
1 3

輸出樣例1

998244349

樣例解釋

邊為{1,3},{9,27},{81,243},{729,2187},所以共有 \(998244349\) 個聯通塊。

樣例2

輸入樣例2

5
998244353 9088
709393585 591328017
998244353 8408
476368048 122172238
998244353 217
922587543 10
998244353 2948991
40846641 7
998244353 2692315
542601916 5

輸出樣例2

998235265
998235945
998244136
995295362
995552038

資料範圍

對所有資料,\(n=998244353,1\le m,k,x<998244353,1\le T\le 10000\)

分析