兩道區間DP水題

2021-09-25 13:20:59 字數 2890 閱讀 6160

區間dp,如果不考慮演算法之間的轉化,那麼就是很簡單的,只是邊界不好處理,但用記憶化搜尋就不存在這樣的問題了

方程:f[l

][r]

=max

(f[l

][r]

,f[l

+k]+

f[k+

1][r

]+he

ad[l

]∗he

ad[k

+1]∗

head

[r+1

]f[l][r]=max(f[l][r],f[l+k]+f[k+1][r]+head[l]*head[k+1]*head[r+1]

f[l][r

]=ma

x(f[

l][r

],f[

l+k]

+f[k

+1][

r]+h

ead[

l]∗h

ead[

k+1]

∗hea

d[r+

1](head[k]是k的頭標記)

**:

#include

using

namespace std;

#define loop(i,s,e) for(register int i=s;i<=e;++i)

#define anti_loop(i,s,e) for(register int i=s;i>=e;--i)

#define clean(a,n) memset(a,n,sizeof(a))

#define isdegit(a) ((a>='0'&&a<='9'))

template

<

typename t>

void

read

(t &x)

while

(isdegit

(r))

x*=neg;

}int n;

const

int maxn=

100+10;

int head[maxn<<1]

;int f[maxn<<1]

[maxn<<1]

;int

dfs(

int l,

int r)

loop

(k,l,r-1)

f[l]

[r]=_res;

return _res;

}int

main()

int res=0;

loop

(l,1

,n)printf

("%d\n"

,res)

;return0;

}

-加分二叉樹

方程:f[l

][r]

=max

(f[l

][ro

ot−1

]∗f[

root

+1][

r]+w

[roo

t],f

[l][

r]

)f[l][r]=max(f[l][root-1]*f[root+1][r]+w[root],f[l][r])

f[l][r

]=ma

x(f[

l][r

oot−

1]∗f

[roo

t+1]

[r]+

w[ro

ot],

f[l]

[r])

對於前序遍歷,直接記錄當前區間最優情況下的根,然後輸出的時候遞迴一下就可以了

**:

#include

using

namespace std;

#define loop(i,s,e) for(register int i=s;i<=e;++i)

#define anti_loop(i,s,e) for(register int i=s;i>=e;--i)

#define clean(a,n) memset(a,n,sizeof(a))

#define isdegit(a) ((a>='0'&&a<='9'))

template

<

typename t>

void

read

(t &x)

while

(isdegit

(r))

x*=neg;

}int n;

const

int maxn=50;

int w[maxn]

;int f[maxn]

[maxn]

;int broot[maxn]

[maxn]

;int

dfs(

int l,

int r)

else

if(r-l<=1)

loop

(root,l+

1,r-1)

} f[l]

[r]=res;

return f[l]

[r];

}void

dfs2

(int l,

int r)

printf

("%d "

,broot[l]

[r])

;dfs2

(l,broot[l]

[r]-1)

;dfs2

(broot[l]

[r]+

1,r);}

intmain()

printf

("%d\n"

,dfs(1

,n))

;dfs2(1

,n);

return0;

}

數論 異或,兩道水題。

題目大意 給你n個數 n 1000000 第i個數用ai表示 每個a 1000000 求出每個數與其之後的數的xor和。舉個例子吧,比如三個數1 2 3答案就應該為1 xor 2 1 xor 3 2 xor 3 4 題解 首先有乙個o n n 的演算法,就是暴力列舉,可以過40 資料。程式大體 fo...

兩道選擇題

教授面帶微笑,走進教室,對我們說 我受一家機構委託,來做一項問卷調查,請同學們幫個忙。一聽這話,教室裡輕微的一陣議論開了,大學課堂本來枯燥,這下好玩多了。問卷表發下來,一看,只有兩道題。第一題 他很愛她。她細細的瓜子臉,彎彎的娥眉,面色白皙,美麗動人。可是有一天,她不幸遇上了車禍,痊癒後,臉上留下幾...

兩道選擇題

記得大學一堂選修課上。教授面帶微笑,走進教室,對我們說 我受一家機構委託,來做一項問卷調查,請同學們幫個忙。一聽這話,教室裡輕微的一陣議論開了,大學課堂本來枯燥,這下好玩多了。問卷表發下來,一看,只有兩道題。第一題 他很愛她。她細細的瓜子臉,彎彎的娥眉,面色白皙,美麗動人。可是有一天,她不幸遇上了車...