g556. 白色世界(困難版)
標籤 : DP
通過比率 : 31人/39人 ( 79% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-11-15 23:32

內容

原題序請見g555。

只不過這次臨末來到的白色世界異常的大,所以道路也特別長,聰明的你可以幫幫他再算一次方法數嗎?

 

 

原題序:

在白色世界裡,所有東西都是白色的。有一天,臨末覺得白色世界實在太無聊了,於是帶著一些黑色的顏料進到白色世界,嘗試將這個世界染色。在與白色世界的村長討論過後,決定只在一條道路上實驗。為了讓村民適應,臨末將這條路分成好幾格,選任意的、任意個格子染色,但不能將連續的格子一起染色,否則村民會不適應。

問題來了:臨末共有幾種方式能夠達成此目的呢?(不能都不染色,否則達不到臨末的目的)

輸入說明

第一行有1個整數t(1<=t<=300000),表示共有t筆測試資料

接下來有t行,每行一個整數n(1<=n<=10^18),表示道路的長度(格子數量)

輸出說明

針對每個n,輸出共有幾種方法可以達成題目需求(每次輸出後換行)

由於答案可能很大,請mod 998244353後輸出

範例輸入 #1
1
2
範例輸出 #1
2
範例輸入 #2
2
3
10
範例輸出 #2
4
143
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (1%): 10.0s , <10M
公開 測資點#1 (49%): 10.0s , <10M
公開 測資點#2 (50%): 10.0s , <10M
提示 :

#0測資點保證所有數字皆<=300000

如果python或java的使用者發現複雜度正確但#1、#2測資點TLE,可以私訊我,會處理。(本人只會C++,沒有要卡python或java)

標籤:
DP
出處:
[管理者: linlincaleb@ ... (臨末之頌) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
31182 dfd8282@gmai ... (fishhh) g556
解題報告
269 2022-07-17 10:51