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