2017 10 24 上公升序列 思考記錄

2021-08-09 18:32:20 字數 508 閱讀 9484

終於有會做的題了。。。

一開始想用正常的lis ,然後從前往後掃,

由於最優查詢區間在序列上是按順序單調遞增的,所以想記錄每個點取哪個值跳到哪,這樣是n*m logn的

然後發現既然是單調遞增的那直接掃不就可以了,,如果乙個點能往後取到大於等於查詢值的,就直接把他加上

然後相當於詢問每個點能往後最多延伸幾個點,然後就是反著的lis

碼:#include#includeusing namespace std;

int n,m,a[10005],ans[10005],f[10005],i,j,xin[10005],shang[10005];

int main()} }

scanf("%d",&m);

for(i=1;i<=m;i++)

{ int x,lin2=-1,lin;

scanf("%d",&x);

lin=x;

for(j=1;j<=n;j++)

{ //cout<=lin&&lin2

上公升子串行

題目描述 乙個只包含非負整數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列,我們可以得到一些上公升的子串行,這裡1 i1 i2 ik n。例如 對於序列,有它的一些上公升子串行,如,等等。這些子串行中序列和最大的是子串行,它的所有元素的和為18。對於給定的乙個序列...

上公升子串行

time limit 1000ms memory limit 65536k 乙個只包含非負整數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列,我們可以得到一些上公升的子串行,這裡1 i1 i2 ik n。例如 對於序列,有它的一些上公升子串行,如,等等。這些子串行...

上公升子串行

submit statistic problem description 乙個只包含非負整數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列,我們可以得到一些上公升的子串行,這裡1 i1 i2 ik n。例如 對於序列,有它的一些上公升子串行,如,等等。這些子串行中...