bzoj3594 Scoi2014 方伯伯的玉公尺田

2022-05-07 09:51:09 字數 994 閱讀 9995

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...