日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数位dp 模板

發(fā)布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数位dp 模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

板子

?? DP(pos,狀態(tài)變量...,限制布爾){if(pos==0)return 1;//一般每次執(zhí)行到這里時的數是要算入總結果的 不一定是1 根據題目確定if(!limit&&dp[對應狀態(tài)]!=-1)return dp[對應狀態(tài)]; //記憶化搜索int up = limit?d[pos]:9;//表示如果前面一位有限制 就說明這是擦著區(qū)間上界走的 需要返回d[pos] 如果沒有限制 說明沒臨界 返回9ll a=0;for(int i=0;i<=up;i++){if()...else if()...//針對不同的題目設置不同的變量記錄函數a+=(pos,狀態(tài)變量...,限制布爾&&i==d[pos]);//如果這兩個條件都有再傳遞}if(!limit)dp[狀態(tài)]=a;//已經求出對應狀態(tài)值下的結果了 記錄下來return a;}

所以 數位dp其實就是一種求解有關于l到r有多少個符合條件的數目類似的統計問題的解題思路
一遍遍數字枚舉太慢

不如我們根據條件枚舉數位
數位dp本質上是記憶化搜索

我們需要在數位上進行遞推
把條件篩選融入到數位上的篩選
所以數位dp其實就是一種算法策略可以讓我們
記憶化地去搜索我們想要得到的數據結果

我們把這個數位給他拆開一位一位的枚舉
根據題目對應的約束條件 設置記錄結構
一般把對應長度,其余位數符合什么什么條件的 并且沒有限制的數目記錄下來
以供我們之后搜到相同的狀態(tài)重復利用數據
降低搜索分支

總結

以上是生活随笔為你收集整理的数位dp 模板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。