1. 程式人生 > >洛谷 P4233 射命丸文的筆記 ntt

洛谷 P4233 射命丸文的筆記 ntt

題目背景

(七)再見,地底世界的朋友們

在地靈殿住了許多天了呢。

這些日子裡,覺分享了很多舊地獄的故事。

此次地底旅行,可以說是非常充實了。

雖然仍舊有些不捨,不過人類總是要見太陽的,再說這樣麻煩覺姐姐招待我們也有些過意不去呢。

那麼,和覺,戀,阿燐,阿空,以及其他寵物們說再見吧。

……

舊地獄的街市,依舊飄著雪。

已經能看到溶洞了。

環境又變得幽閉起來。

誒,前面不是山女嗎?

“啊,你們要回地面了嗎,玩的怎樣?”

“很開心呢,對了,剩下的問題已經解決了”

我們向山女解釋了從荷取那裡聽到的方法。

“謝謝!”

“不客氣,那麼再見了~”

世界一片白茫茫的…

陽光是那麼的刺眼,以至於幾分鐘後我們才能睜開眼睛看清楚地面的景色。

沿著魔法森林中的小路向神社走去,這次的旅行也在我們的腳步聲中走向了尾聲。

前方的地面上忽然出現了一頁破損的筆記。

撿起來一看,發現是從文文的筆記本上脫落下來的。

射命丸文,作為(不靠譜的)新聞記者,觀察到最近地靈殿裡的寵物們偶爾會互相打架,於是將每場決鬥的勝負關係寫在了她的筆記本上。剛剛撿起來的這頁筆記,上面就記錄著幾場“單迴圈賽”。

每場迴圈賽被抽象成一張競賽圖,其中頂點代表參加迴圈賽的寵物,從頂點u指向頂點v的邊代表在一場比賽中寵物u戰勝了寵物v

觀察到這頁筆記上所有的競賽圖中都至少存在一條經過所有頂點的迴路,我們猜想文文只會記錄這樣的迴圈賽。

可能是因為文文不清楚寵物們誰能打過誰,於是在那頁筆記的最下面留下了一個這樣的問題…

(見題目描述)

這最後一個問題,就留給你來解決啦。

博麗大結界,已經在我們身後了。

希望這次地底旅行,能給你留下美好的記憶~

(全文完)

題目描述

如果一個競賽圖含有哈密頓迴路,則稱這張競賽圖為值得記錄的

從所有含有nn個頂點(頂點互不相同)的,值得記錄的競賽圖中等概率隨機選取一個

求選取的競賽圖中哈密頓迴路數量的期望值

由於答案可能過大/丟失精度,只需要輸出答案除以 998244353 的餘數

即:設答案為qp,則你需要輸出一個整數x,滿足pxqmod9982443530x<

998244353,可以證明恰好存在一個這樣的x 若不存在這樣的競賽圖輸出-1

輸入輸出格式

輸入格式: 一行一個正整數nn 輸出格式: n行,第i行一個數字,代表輸入為i時的答案

輸入輸出樣例

輸入樣例#1: 4 輸出樣例#1: 1 -1 1 1 說明

樣例解釋:

n=1 時只有一種滿足條件的競賽圖,就是一個點

n=2 時競賽圖中只有一條邊,不能形成哈密頓迴路

n=3 時有兩種滿足條件的競賽圖,分別為1->2->3->1和1->3->2->1,都只有1條哈密頓迴路,隨機取出後期望值為1

n=4 時有很多種滿足條件的的競賽圖,這裡寫不下了,但是所有滿足條件的競賽圖都是同構的,所以隨機取出後期望值為1

資料範圍:

測試點1~3中 n7 測試點4~6中 n10 測試點7~10中 n1000 測試點11~16中 n10000 測試點17~25中 n100000 資料有梯度,每個測試點4分

為防止卡常,最後兩個點開2s時限

分析: 考慮每一條哈密頓迴路,顯然在迴路上的邊已經定向,而其他的邊都有兩種選擇,即為(n1)!2n(n1)2n。 於是就要求有哈密頓迴路的路徑數了,其實就是有強連通分量的競賽圖個數。 設f(n)=2n(n1)2g(n)n個點有強連通分量的競賽圖個數,有

g(n)=f(n)i=1n1g(i)f(ni)(ni)g(n)n!=f(n)n!i=1n1g(i)i!f(ni)(ni)!F(n)=f(n)n!G(n)=g(n)n!,即G=FFG,即