亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯排序列第N項模M=?

錯排序列第N項模M=?

慕尼黑8549860 2019-04-06 16:57:28
錯排遞推式:f(n)=(n-1)*(f(n-1)+f(n-2))f(1)=0,f(2)=1求f(n)%m,m
查看完整描述

2 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

~~~#UPDATE:又仔細想了下最后推導似乎有問題略囧所以僅供參考思路了~~~----你給出的這個“錯排遞推公式”,實際上有一個“直接”的計算公式:f(n)=n!*((-1)^0/0!+(-1)^1/1!+(-1)^2/2!+...+(-1)^n*1/n!)已知x=aX+b
y=cY+d
(x+y)%m=(aX+b+cY+d)%m=(b+d)%m=(X%m+Y%m)%m記g(n)=f(n)%m則有g(2m+n)=((2m+n)!*(
[1]-1^0/0!+(-1)^1/1!+...+(-1)^(m-1)/(m-1)!
[2]+(-1)^m/m!+(-1)^(m+1)/(m+1)!+...+(-1)^(2m-1)/(2m-1)!
[3]+(-1)^(2m)/(2m)!+(-1)^(2m+1)/(2m+1)!+...+(-1)^(2m+n)/(2m+n)!
))%m由于((2m+n)!*任意一個前2m項)%m==0,所以前兩行可以消掉(這個很容易看出來的吧?)g(2m+n)
=((2m+n)!*(
(-1)^(2m)/(2m)!+(-1)^(2m+1)/(2m+1)!+...+(-1)^(2m+n)/(2m+n)!
))%m
~~~由于(-1)^2m==1~~~
=((2m+n)!*(
(-1)^0/(2m)!+(-1)^1/(2m+1)!+...+(-1)^n/(2m+n)!
))%m
=((-1)^0/n!+(-1)^1/(n-1)!+...+(-1)^n/0!)%m這里已經很接近你說的結論了,由于n是奇偶的時候會影響這里的正負號,而我前面沒有證明(x-y)%m的公式,但是由于實際上前2m項減去后n項毫無疑問是正數(中間這些瑣碎的證明略掉),所以最終結論就是:g(2m+n)==g(n)
                            
查看完整回答
反對 回復 2019-04-06
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

循環節不超過m^2。(因為f[n]由f[n-1],f[n-2]唯一決定,在modm下f[n-1]和f[n-2]最多有m^2種組合。)一邊開哈希表一這算遞推,算到出現循環為止。注意循環節可能到中間才出現(想想循環小數)。
                            
查看完整回答
反對 回復 2019-04-06
  • 2 回答
  • 0 關注
  • 290 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號