Re: [閒聊] 每日leetcode

作者: sixB (6B)   2025-05-10 03:38:50
3343.
怎麼又是大數字乘法mod
分左右擺數字和要一樣大
先check sum even
然後有限個數背包
size: n/2, (n+1)/2
volumn: sum/2
dp算有幾組
同時每一組重複數字的個數也要記起來
比如說111122
dup[4]++, dup[2]++
res = dp[volume][size] * fact[n/2] * fact[(n+1)/2]
然後for i, cnt: enumerate(dup)
res *= fact_inv[i] do cnt times
有乘就記得mod
fact 跟 inv 要先算好 到 n/2
想完了 好懶得寫== 看解答也差不多是這樣 明天再

Links booklink

Contact Us: admin [ a t ] ucptt.com