I. Space Station(hash记忆化+dp)
生活随笔
收集整理的這篇文章主要介紹了
I. Space Station(hash记忆化+dp)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
《文章》陸游
文章本天成,妙手偶得之。
粹然無疵瑕,豈復須人為。
君看古彝器,巧拙兩無施。
漢最近先秦,固已殊淳漓。
胡部何為者,豪竹雜哀絲。
后夔不復作,千載誰與期?
I. Space Station
大佬題解
上述題解寫的非常棒!思路層層遞進,而且馬蜂好評
暴力:首先將原數組排序,然后dfs枚舉選擇順序,如果當前和已經≥50\ge50≥50即可利用階乘算出方案數,復雜度不可算
記憶化搜索:這里就牽扯到如何記憶化搜索?
正解非常巧妙,由于aia_iai?的范圍很小,這里只記錄每個值出現的次數,這個信息已經足夠還原原數組的必要信息。
最巧妙的是hash記憶化,當所有數剩下的個數相同時,方案數相同。這里把記錄次數的數組進行hash,那么就完成了記憶化!!!
如果想到上面這些,還不行仍然TLE 怎么卡都卡不過去Q-Q
注意到如果ai=0a_i=0ai?=0我們什么時候都可以選他,也就是它的選擇不被約束,由此我們可以先將0剔除出來,最后直接算0對答案的貢獻。
我們的選擇是一個排序,只需要把這些0插到選擇的過程中即可,最終答案需要乘以(cnt+1)×(cnt+2)×?×n(cnt+1)×(cnt+2)×\dots×n(cnt+1)×(cnt+2)×?×n
cnt是非零數的個數
第一次見hash記憶化,非常巧妙!!!菜就多練, 要不然訓練總掛機
要加油哦~
總結
以上是生活随笔為你收集整理的I. Space Station(hash记忆化+dp)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中的system函数参数详解
- 下一篇: codeforces1471 D. St