time limit: 60 sec memory limit: 128 mb
submit: 1624 solved: 751
[submit][status][discuss]
方伯伯在自己的農田邊散步,他突然發現田裡的一排玉公尺非常的不美。
這排玉公尺一共有n株,它們的高度參差不齊。
方伯伯認為單調不下降序列很美,所以他決定先把一些玉公尺拔高,再把破壞美感的玉公尺拔除掉,使得剩下的玉公尺的高度構成乙個單調不下降序列。
方伯伯可以選擇乙個區間,把這個區間的玉公尺全部拔高1單位高度,他可以進行最多k次這樣的操作。拔玉公尺則可以隨意選擇乙個集合的玉公尺拔掉。
問能最多剩多少株玉公尺,來構成一排美麗的玉公尺。
第1行包含2個整數n,k,分別表示這排玉公尺的數目以及最多可進行多少次操作。
第2行包含n個整數,第i個數表示這排玉公尺,從左到右第i株玉公尺的高度ai。
輸出1個整數,最多剩下的玉公尺數。
3 12 1 3
31 < n < 10000,1 < k ≤ 500,1 ≤ ai ≤5000
by 佚名提供
一手二維dp
定義f[i][j]表示以高度為i的結尾,操作了j次
二維bit優化轉移
1 #include2#define n 10010
3#define m 510
4using
namespace
std;
5int n,m,mx,ans,a[n],f[n][m],c[m*12
][m];
6void cmax(int x)78
void update(int x,int y,int
v)13
14int ask(int x,int
y)21
intmain()
31 printf("
%d\n
",ans);
32return0;
33 }
bzoj 3594 方伯伯的玉公尺田
開始覺得自己好不容易想出一道題,後來發現自己是錯的。用f i j 表示前i個玉公尺,發動j次技能最多能留下的玉公尺數。但是這個東西可以由j 1 i 1中任意乙個數轉移來,所以用樹狀陣列優化dp f i j f p q 1 p p q include include include include i...
BZOJ 3594 方伯伯的玉公尺田
日常貼一波題面。time limit 60 sec memory limit 128 mb submit 1413 solved 637 submit status discuss 方伯伯在自己的農田邊散步,他突然發現田裡的一排玉公尺非常的不美。這排玉公尺一共有n株,它們的高度參差不齊。方伯伯認為單...
BZOJ 1079 SCOI2008 著色方案
題目 分析 一看就覺得是dp或者直接排列組合公式或者容斥?我就只想到dp的,我們用dp i j 表示前i種顏色,排列出有j對相鄰一樣顏色的方案數。當出現乙個新的顏色時,我們把這個顏色插板法插進去,我們要列舉插入的方式,可能插到相鄰顏色一樣的中間,或者不是,然後進行狀態轉移.具體看 include i...