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