(思維)CSL 的神奇序列

2021-09-14 05:25:53 字數 1973 閱讀 9501

時間限制:c/c++ 2秒,其他語言4秒

空間限制:c/c++ 524288k,其他語言1048576k

64bit io format: %lld

csl 有乙個神奇的無窮實數序列,他的每一項滿足如下關係:

對於任意的正整數 n ,有 n∑k=0akan−k=w2∑k=0nakan−k=w2 , 並且 a0=wa0=w 。

csl 很清楚這樣的序列是唯一的,他現在想考考你,你能快速告訴他這個序列的第 n 項是多少嗎?

為了不讓你感到難過,對每次詢問你只要輸出 2nn!2nn! 倍的 anan 對 998244353 取模後的結果即可。

第一行有兩個整數 w 和 q ,其中 w 的含義如題意所述, q 表示接下來的詢問次數。
接下來的 q 行,每行輸入乙個數 n 。

1≤w,n≤1061≤w,n≤106

1≤q≤1051≤q≤105

對於每一次詢問, 在一行輸出乙個整數 v ,表示 v=2nn!⋅anmod 998244353v=2nn!⋅anmod 998244353
示例1

複製

1 2

12

複製

1

3

題解 : w為1舉例:

第0項:1/1

第1項:1/2    -->  1

第2項:3/8   --->   3

第3項:5/16  --->  15/48   --->  15

...............

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define eps (1e-8)

#define max 0x3f3f3f3f

#define u_max 1844674407370955161

#define l_max 9223372036854775807

#define i_max 2147483647

#define re register

#define pushup() tree[rt]=tree[rt<<1]+tree[rt<<1|1]

#define nth(k,n) nth_element(a,a+k,a+n); // 將 第k大的放在k位

#define ko() for(int i=2;i<=n;i++) s=(s+k)%i // 約瑟夫

#define ok() v.erase(unique(v.begin(),v.end()),v.end()) // 排序,離散化

#define catalan c(2n,n)-c(2n,n-1) (1,2,5,14,42,132,429...) // 卡特蘭數

using namespace std;

inline int read()

while(c >= '0' & c <= '9') x = x * 10 + c - '0', c = getchar();

return x * f;

}typedef long long ll;

const double pi = atan(1.)*4.;

const int inf = 0x3f3f3f3f;

const ll inf = 0x3f3f3f3f3f3f3f3fll;

const int m=63;

const int n=1e6+5;

ll mod=998244353;

int n,q,m;

ll a[n];

void fun()

int main()

return 0;

}

CSL 的字串(思維 STL操作)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...

CSL 的字串(思維 STL操作)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...

ZUFE2480 神奇的序列

時間限制 4 sec 記憶體限制 256 mb 提交 31 解決 15 提交 狀態 討論版 序列a如下 a 0 a a 1 b a i a pp a qq i 2,pp 向下取整 i k1 qq 向下取整 i k2 有q次詢問,每次詢問輸入pos,請輸出a pos mod。第一行輸入五個整數a,b,...