1

部分和を次数にとる母関数を用いて問題を解きたい

59
0
$$$$

簡単な紹介

ぱっと, 定理を見てどんな風になるのか分かりにくいかもしれないので, 分からなかったときは下の例題で雰囲気を感じてもらえればいいです.

集合$\{a_n(1),\,a_n(2),\,\cdots,\,a_n(N_n)\}_{n\in\mathbb{N}}$の要素を$1$個ずつ取った和を次数に取る多項式

$$f(x):=\prod_{i=1}^n \left(\sum_{j=1}^{N_i} x^{a_i(j)}\right)=(x^{a_1(1)}+\cdots+x^{a_1(N_1)})(x^{a_2(1)}+\cdots+x^{a_2(N_2)})\cdots(x^{a_n(1)}+\cdots+x^{a_n(N_n)})$$

例題

次の例題を解きたいと思います.

整数列$\{a_n\}$$1\leq a_k\leq 3k\,(k=1,\,2\,\cdots,\,n)$を満たす.
$a_1+a_2+\cdots+a_n$$3$で割れるような組数$S$を求めよ.

$$f(x):=\prod_{k=1}^n \left(\sum_{l=1}^{3k} x^{l}\right)=(x+x^2+x^3)(x+x^2+\cdots+x^6)\cdots(x+x^2+\cdots+x^{3n})$$
と定める.
$a_1+\cdots+a_n$で表される数を小さい順に$S_1,\,S_2,\,\cdots$とし, $S_n$になる組数を$A_n$とする.
$$f(x)=A_1 x^{S_1}+A_2 x^{S_2}+\cdots+A_{\frac{3}{2}n^2+\frac{1}{2}n+1}x^{S_{{\frac{3}{2}n^2+\frac{1}{2}n+1}}}$$
と表せる.

$n\in\mathbb{N},\,\omega=-\dfrac{1}{2}+\dfrac{\sqrt{3}}{2}$とする.
$$ \omega^n+\omega^{2n}+\omega^{3n}= \begin{cases} 3 & (n\equiv0\mod3)\\ 0 & (n\not\equiv0\mod3) \end{cases} $$

定理より, $f(\omega)+f(\omega^2)+f(\omega^3)$は次のようになる.
$$ f(\omega)+f(\omega^2)+f(\omega^3)=A_1 (\omega^{S_1}+\omega^{2S_1}+\omega^{3S_1})+A_2 (\omega^{S_2}+\omega^{2S_2}+\omega^{3S_2})+\cdots+A_{\frac{3}{2}n^2+\frac{1}{2}n+1}(\omega^{S_{\frac{3}{2}n^2+\frac{1}{2}n+1}}+\omega^{2S_{\frac{3}{2}n^2+\frac{1}{2}n+1}}+\omega^{3S_{\frac{3}{2}n^2+\frac{1}{2}n+1}}) $$
$$f(\omega)+f(\omega^2)+f(\omega^3)=3\cdot(a_1+\cdots+a_n\text{が}3\text{で割れるものの総数})$$
$$f(x)=\prod_{k=1}^n \left(\sum_{l=1}^{3k} x^{l}\right)=\prod_{k=1}^n \dfrac{x^{3k+1}-x}{x-1}$$
と表せるから, $\omega^3=1$より
$$f(\omega^3)=f(1)=\prod_{k=1}^n 3k=3^nn!,\,f(\omega)=\prod_{k=1}^n \dfrac{\omega^{3k+1}-\omega}{\omega-1}=0,\,f(\omega^2)=\prod_{k=1}^n \dfrac{\omega^{6k+2}-\omega^2}{\omega^2-1}=0$$
$\therefore f(\omega)+f(\omega^2)+f(\omega^3)=3^n n!+0+0=3^n n!$
全体を$3$で割ると, 求める組数は$3^{n-1}n!$

ちょっと拡張

$A_n\in\{a_n(1),\,a_n(2),\,\cdots,\,a_n(N_n)\}_{n\in\mathbb{N}}$の和$c_1 A_1+c_2 A_2+\cdots+c_n A_n$を次数に取る多項式

$$f(x):=\prod_{i=1}^n \left(\sum_{j=1}^{N_i} x^{c_i a_i(j)}\right)=(x^{c_1 a_1(1)}+\cdots+x^{c_1 a_1(N_1)})(x^{c_2 a_2(1)}+\cdots+x^{c_2 a_2(N_2)})\cdots(x^{c_n a_n(1)}+\cdots+x^{c_n a_n(N_n)})$$

$A_n\in\{a_n(1),\,a_n(2),\,\cdots,\,a_n(N_n)\}_{n\in\mathbb{N}}\subset\mathbb{Z}$のとき, $c_1 A_1+c_2 A_2+\cdots+c_n A_n$の期待値

$$\dfrac{d}{dx}\log{f(x)}\bigg|_{x=1}=\dfrac{f'(1)}{f(1)}$$

(雑に)

$A_n\in\{a_n(1),\,a_n(2),\,\cdots,\,a_n(N_n)\}_{n\in\mathbb{N}}$の和$c_1 A_1+c_2 A_2+\cdots+c_n A_n$を次数に取る多項式は
$$f(x):=\prod_{i=1}^n \left(\sum_{j=1}^{N_i} x^{c_i a_i(j)}\right)$$
である.
$c_1 A_1+c_2 A_2+\cdots+c_n A_n$で表される数を小さい順に$S_1,\,S_2,\,\cdots,\,S_m\,(m=\max\{c_1 A_1+c_2 A_2+\cdots+c_n A_n\})$とし, $S_n$になる組数を$B_n$とする.
$$ f(x)=B_1 x^{S_1}+B_2 x^{S_2}+\cdots+B_m x^{S_m} $$
和が$S_n$になる確率は$P(X=S_n)=\dfrac{B_n}{B_1+B_2+\cdots+B_m}=\dfrac{B_n}{f(1)}\,(n=1,\,2,\,\cdots,\,m)$となるので,
$$ \dfrac{f(x)}{f(1)}=P(X=S_1)x^{S_1}+P(X=S_2)x^{S_2}+\cdots+P(X=S_m)x^{S_m} $$
両辺を微分して, $x=1$を代入すると,
$$ \dfrac{f'(x)}{f(1)}=S_1 P(X=S_1)x^{S_1-1}+S_2 P(X=S_2)x^{S_2-1}+\cdots+S_m P(X=S_m)x^{S_m-1} $$
$$ \dfrac{d}{dx}\log{f(x)}\bigg|_{x=1}=\dfrac{f'(1)}{f(1)}=S_1 P(X=S_1)+S_2 P(X=S_2)+\cdots+S_m P(X=S_m)=\sum_{k=1}^m S_k P(X=S_k) $$
よって, 期待値が求まる.

この集合の要素を同じものにすることによって, 重複を許したときの部分和もできます(例: 整数$k\,(k=1,\,2,\,\cdots,\,100)$が書かれたカードが$k$枚あるとき, $1$枚を引いて記録し, 戻す操作を繰り返す.).


大体の問題は別の簡単な解法が存在するので、そんなに強いテクニックというわけではないのですが、応用が利きそうなので色々考えたいですね。

投稿日:2024129
更新日:20241210
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

▽X/Twitter▽ | TyLite(トワイライト)です。認知欲求のためにSNSとMathlogしてる。フォロバはほぼ返すと思う。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中