<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      巧妙的dp優化方法

      \(\color{green}\textbf{[記錄一種巧妙的dp優化方法]}\)

      這是一種巧妙的優化狀態的方法,通過把狀態提前(或者說是把狀態轉化為限制)的方法來避免記錄一些別的信息,這種優化方法相比起數據結構優化更加強大,故作文記之

      \(\color{blue}\textbf{[例題]}\)
      CF1679E Typical Party in Dorm
      P8329 [ZJOI2022] 樹

      首先是上面那一道 CF 題,先考慮計算每個區間的貢獻,先 \(n^2\) 枚舉可能形成回文的區間后,考慮有多少情況能夠是其產生貢獻,目前已知的信息就是在這個枚舉的區間中使用了哪些字母來填充問號,接著比較正常的思路就是考慮枚舉超集表示在這個串中總共使用了那些字母,然后就是用枚舉的超集來計算在這個枚舉的回文區間之外的問號有多少種填法,是 \(O(n^3)\) 的,會超時。考慮到我其實關心的并不是超集的元素而是超集的大小,因此我就可以優化。
      考慮我直接欽定總共使用了 \(x\) 個元素,然后設置 f[x][S] 表示我欽定使用了 \(x\) 個元素的情況下,目前已經使用了 \(S\) 內的元素,接著高維前綴和,在這么多狀態中,只有 f[bitcnt(S)][S] 是合法的。


      再看 [ZJOI2022]樹 ,正常人都會 \(O(n^5)\)dp ,考慮 f[i][j][k][l] 表示從小往大加點目前已經加到了 i ,在第一棵樹種目前能有 \(j\) 個位置給新節點接入,且目前還有 \(k\) 個節點原本欽定了其不是葉子,但是目前還是葉子,在第二棵樹中有 \(l\) 個點還沒有接上父親,在轉移的時候需要枚舉在第二棵子樹中會把多少個節點接到當前節點上,然后最后答案的狀態就是 f[n][x][0][1]
      考慮提前第二棵子樹的狀態,定義 f[i][j][k] ,表示目前從小到大做到 \(i\) ,目前第一棵樹還有 j 個口子,而第二棵樹欽定還剩下 k 個接口,每次轉移點的時候在第二棵樹上只需要考慮這個點連到哪個接口以及這個點是不是眾多接口中的一個或者只是一個葉子就行了,而到最后只有 f[n][x][0] 是正確的狀態,在這里提前了 k 作為限制,從而避免了對于把子樹接上來的枚舉

      \(\color{red}\textbf{考慮優化的時候可以嘗試把狀態當做限制(條件)來提前,從而避免原先必要的枚舉}\)

      posted @ 2024-10-25 21:14  chx#XCPC  閱讀(50)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 房山区| 日韩精品中文字幕无码一区| 成人aⅴ综合视频国产| 另类专区一区二区三区| 中文字幕 日韩 人妻 无码| 无码欧亚熟妇人妻AV在线外遇 | 自拍视频亚洲精品在线| 国产精品视频第一第二区| 精品国产一区av天美传媒| 国产大学生粉嫩无套流白浆 | 久久国产成人精品国产成人亚洲 | 亚洲悠悠色综合中文字幕| 亚洲综合在线亚洲优优色| 亚洲婷婷综合色高清在线 | 一区二区三区四区亚洲自拍| 人妻有码中文字幕在线| 成人午夜视频在线| 最新国产精品拍自在线观看| 丰满人妻熟妇乱又仑精品| 无码精品一区二区免费AV| 亚洲中少妇久久中文字幕| 日本深夜福利在线观看| 欧洲精品一区二区三区久久| 亚洲精品免费一二三区| 国产丰满乱子伦无码专区| 亚洲 中文 欧美 日韩 在线| 激情综合网激情五月我去也| 麻豆蜜桃伦理一区二区三区| 国产精品综合av一区二区国产馆| 国产精品成人网址在线观看| 蜜桃av色偷偷av老熟女| 18禁动漫一区二区三区| 国产精品天干天干综合网| 成人网站网址导航| 欧美激烈精交gif动态图| 亚洲一区二区经典在线播放| 日本a在线播放| 国产一区二区亚洲精品| 午夜福利日本一区二区无码| 欧美亚洲高清日韩成人| 国产成人精品永久免费视频|