Loj 6363 地底薔薇

2022-05-20 04:46:00 字數 1113 閱讀 8311

考慮給乙個根。記 \(b\) 是有根聯通圖,\(d\) 是點雙連通圖。

現在考慮有根無向圖:

\[b(x) = x*\exp(\sum_i d_/i! b^i)

\\\frac=x

\]擴充套件拉格朗日反演:

\[[x^n] h(\frac) = \frac[x^]h'(x)\frac

\]取 \(h(x) = \ln(\frac)\),左邊即為 \(d'(x)​\)。

現在可以得到乙個 \(d_s​\),表示所有集合內的。

設答案是 \(f\),有:

\[f(x) = x*\exp(d_s'(f(x)))

\\\frac = x

\]可以直接拉格朗日反演:

\[[x^n]f(x) = \frac[x^](\frac})^n

\\=\frac[x^]\exp(d_s'(x))^n

\]最後除點數就是答案。

複雜度 \(o(n\log n+\sum x_i\log x_i)\)。

**

#includeusing namespace std;

typedef long long ll;

const int mod=998244353;

inline int add(int a,int b)

inline int sub(int a,int b)

inline int mul(int a,int b)

inline int qpow(int a,int b)

const int inv_2=(mod+1)>>1;

/* math */

typedef vectorpoly;

namespace polynomial

poly inte(poly a)

poly p_add(poly a,poly b)

for(int i=0;ids_=exp(ds_);

int ans=mul(qpow(n,mod-2),ds_[n-1]);

printf("%d\n",mul(qpow(n,mod-2),mul(ans, fac[n])));

}

636 函式的獨佔時間

題目 給出乙個非搶占單執行緒cpu的 n 個函式執行日誌,找到函式的獨佔時間。每個函式都有乙個唯一的 id,從 0 到 n 1,函式可能會遞迴呼叫或者被其他函式呼叫。日誌是具有以下格式的字串 function id start or end timestamp。例如 0 start 0 表示函式 0...

LeetCode636 函式的獨佔時間

給出乙個非搶占單執行緒cpu的n個函式執行日誌,找到函式的獨佔時間。每個函式都有乙個唯一的 id,從0到n 1,函式可能會遞迴呼叫或者被其他函式呼叫。日誌是具有以下格式的字串 function id start or end timestamp。例如 0 start 0 表示函式 0 從 0 時刻開...

nyoj 636 世界末日

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 世界末日馬上就要來臨了,當然,每個人都想買到船票,但是由於船票有限,因此需要回答對乙個問題才能買票。問題是這樣的 給你乙個數n 1 n 10000 之後給n個正整數 10000 問在這n個數中是否存在一些數的和是n的倍數。輸入 ...