國慶清北 DP

2022-05-08 06:15:11 字數 1551 閱讀 9607

day4 dp

1.區間dp

合併傻子

n個矩陣,n0*n1 n1*n2 ....nn-1*nn

找到乙個做乘法的順序,使得運算次數最少

n*m m*k o(n*m*k)

資料化f[l][r]第l個到第r個做完

f[l][l] = 0

列舉最後乙個乘法是哪個乘法,分界點

f[l][r]=min

n[i-1]第i個矩陣的行數,n[i]列數

ans=f[1][n]

最外層列舉的是區間長度

for i

for j

for k ×

從2開始列舉長度,

o(n^3)

2.樹形dp

f[i]表示 以i為根的子樹的資訊

列舉所有兒子,合併兒子資訊

f[i]=sigma f[j]

j∈son

o(n) 所有點兒子個數之和

葉子節點往上dp

dis(i,j) 從i到j距離

求所有點之間距離

f[i]表示從i到自己子樹裡面所有點之和

f[i]=sigma f[j]+sz[j]

j∈son

對於i到所有點的距離之和

在子樹 f[i]

不在子樹 祖先

別的子樹

i是1的兒子

無論怎麼走,都經過根

f[1]-f[i]+sz[i]//刨掉i子樹

f[1]-f[i]+sz[i]+sz[1]-sz[i]//多走一步

f[1]-f[i]+sz[i]+sz[1]-sz[i]+f[i]//加上子樹內

i不是1的兒子

都經過fa[i]=k

已經算過

f[i]子樹內 sz[i] g[i]子樹外 f[i]+g[i]???????

3.數字dp

l,r問從l到r有多少個數 r-l+1

一位一位的填,從高位到低位填

f[i][j][k] i從高位到低位,已經填到了第i位,

j 0/1變數 j=0 18->i已經滿足》l j=1 這幾位和l一樣

k 0: 18->i已經滿足 !<=(l-1) && <=r 字首和思想

windy數

幸運數字

4.狀壓dp

n個數 1,2,3,4,5....n

能組成多少個不同的排列

f[s],n個東西選還是沒選用乙個數來表示

轉移:列舉下乙個數要選什麼

i 0->n-1

if((s>>i)&1==0) i個東西沒選

f[s|(1

n在22,23左右

從一號點出發,所有點走一邊,走的最小距離這和 旅行商問題

爆搜搜不過

列舉下乙個點走什麼

f[s]=

f[s|(1<不知道從哪個點走過來

f[s][j]最後停在j的最短距離

f[s|(1

售貨員的難題

5.插頭dp ×

6.其它dp 90%

2016國慶清北Day2T1

pa 題目描述 漢諾塔公升級了 現在我們有n個圓盤和n個柱子,每個圓盤大小都不一樣,大的圓盤不能放在小的圓盤上面,n個柱子從左到右排成一排。每次你可以將一 個柱子上的最上面的圓盤移動到右邊或者左邊的柱子上 如果移動之後是合法的 話 現在告訴你初始時的狀態,你希望用最少的步數將第i 大的盤子移動到第i...

清北學堂 2017 10 01

problem 1.alien input file alien.in output file alien.out time limit 1s memory limit 128m 小y 最近正在接受來自x3 星球的外星人的採訪。在那個星球上,每個人的名字都是乙個正整數。所有在這個星球上的居民都是相互...

清北學堂 2017 10 06

因為是剛聽完課所以想把思路記下來,有一些其實也是一知半解的,如果有dalao可以幫忙講解那真是再感謝不過了。還有為什麼我畫圖這麼醜,哇的一下哭出聲 problem a.最佳進製 如今我們最常用的是十進位制,據說這是因為人有十根手指。但事實上這並不是十分方便,10 只有四個因子 1 2 5 10,像 ...