很容易想到乙個dp:f[i
][j]
f[i][j]
f[i][j
]表示長度為i
ii,以a[j
]a[j]
a[j]
結尾的上公升子串行的個數
轉移的話就是從1
11到m
mm列舉乙個i
ii表示長度,再從1
11到n
nn列舉乙個j
jj,再從1
11到j−1
j-1j−
1列舉乙個k
kk轉移就是如果a[k
#define a 1010
using
namespace std;
const
int mod =
1e9+7;
int n, a[a]
, b[a]
, f[a]
[a], t, m, t[a]
;int
lowbit
(int x)
void
add(
int x,
int val)
intask
(int x,
int ans =0)
intmain
(int argc,
char
const
*ar**)
int ans =0;
for(
int i =
1; i <= n; i++
) ans =
(ans + f[m]
[i])
% mod;
printf
("case #%d: %d\n"
, cas, ans);}
}
AcWing 29 刪除鍊錶中重複的節點
題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留。樣例1輸入 1 2 3 3 4 4 5 輸出 1 2 5樣例2 輸入 1 1 1 2 3 輸出 2 3分析 本題與一般去重不同之處是 對於重複的元素,乙個不留。於是很可能刪除後,鍊錶為空。為了防止頭結點被刪,我...
AcWing 29 刪除鍊錶中重複的節點
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留。樣例1輸入 1 2 3 3 4 4 5 輸出 1 2 5樣例2 輸入 1 1 1 2 3 輸出 2 3先建立乙個dummy節點,然後cur等於dummy節點,pre節點等於head。然後先判斷是否head的next節點為...
29 陣列操作
為了鞏固所有學習到的繼承 方法的覆寫概念,下面通過具體的例項來進行說明 要求定以乙個陣列操作類 array類 在這個類裡面可以進行整型陣列的操作,由外部傳入陣列的大小要求實現資料的儲存以及資料的輸出,隨後在這個類上派生出兩個子類 排序類 通過此類取得的資料可以進行排序 反轉類 通過此類取得的的陣列的...