BZOJ1046 上公升序列(動態規劃,貪心)

2021-08-22 12:05:24 字數 778 閱讀 2990

bzoj

洛谷我一開始看錯題了,一度以為是字典序最小的序列。

最後發現它要求的字典序是位置的字典序最小。

那就很好辦了。 設f

[i] f[i

]表示以

i i

開頭的li

s' role="presentation">lis

lis長度,用bi

t bit

轉移。

然後每次詢問暴力貪心即可。

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ll long long

#define max 10100

inline

int read()

int f[max],n,a[max],c[max],s[max],len,ans;

int lb(int x)

void add(int x,int w)

int query(int x)

int main()

for(int i=1,lt=0;i<=n&&k;++i)

if(a[i]>lt&&f[i]>=k)

printf("%d ",s[lt=a[i]]),--k;

puts("");

}return

0;}

BZOJ 1046 上公升序列(DP)

time limit 10 sec memory limit 162 mb submit 4898 solved 1704 submit status discuss 對於乙個給定的s 若有p 滿足 x1 x2 xm 且 ax1 ax 2 axm 那麼就稱p為s的乙個上公升序列。如果有多個p滿足條件...

BZOJ 1046 上公升序列 HAOI2007

和字典序有關的題型啊。對於乙個給定的s 若有p 滿足 x1 x2 xm 且 ax1 ax2 axm 那麼就稱p為s的乙個上公升序列。如果有多個p滿足條件,那麼我們想求字典序最小的那個。任務給出s序列,給出若干詢問。對於第i個詢問,求出長度為li的上公升序列,如有多個,求出字典序最小的那個 即首先x1...

BZOJ 1046 HAOI 上公升序列

1046 haoi2007 上公升序列 time limit 10 sec memory limit 162 mbsubmit 5376 solved 1862 submit status discuss description 對於乙個給定的s 若有p 滿足 x1 x2 xm 且 ax1 2 出s...