Applese 填数字
生活随笔
收集整理的這篇文章主要介紹了
Applese 填数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://ac.nowcoder.com/acm/contest/330/D
C++版本一
std
題解:
狀態壓縮,輪廓線DP
好多6x6被騙去寫暴搜的.jpg。實際上6x6全是?的答案高達1e18.
解法一:By 野雞驗題人
用 dp[x][state] 表示考慮到第 x 行,該行填寫的數字的十進制狀態為state的方案數。
這樣的復雜度有點大,但是由于題目中的要求和為素數存在很強的限制,因此可以先預處理出所有符合條件的一行的state以及每個state可以轉移的狀態。加上本題寬松的時限,足以通過。
當然第一維是可以滾動掉的(然而并沒有什么卵用)。
解法二:標程
用 dp[x][state] 表示考慮到第 x 個格子,它所在的輪廓線上所有數字的十進制狀態為state的方案數。其中state的最高位存它前一行的那一格,最低為存它前一列的那一格。
如圖所示,這樣狀態的轉移就是一個“帶溢出的十進制左移并補上填的數字“。
當然第一維是可以滾動掉的。
?
總結
以上是生活随笔為你收集整理的Applese 填数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Applese 走迷宫
- 下一篇: Applese 涂颜色