NOIP2014模擬10 26 改造二叉樹

2022-05-17 09:09:09 字數 753 閱讀 5629

首先,二叉搜尋樹。。。

來個dfs序來把它變成乙個序列。

然後,我們要將其修改成乙個上公升序列。

當然,直接打lis(最長上公升子串行)是肯定不可以的。

所以我考場直接棄了正解,打了個n2dp,水了個60分。

正解的話:

我們要使序列a[1]變成:

a[1]-1<=a[2]-2<=a[3]-3<=a[4]-4<=a[5]-5<=…<=a[n]-n

哈哈,來一波即可。

我們只需將那個求出來的序列中的b[i]-i(1<=i<=n)

然後求出這個修改過後的序列的最長不下降子串行的長度即可。

上標:

#include

#define ll long long

#define n 100010

using namespace std;

int n,a[n]

,son[n][2

],b[n]

,c[n]

;int cnt=

0,ans=

0,top=

0,l,r,mid,s;

inline

intread()

void

dfs(

int x)

intmain()

c[s]

=b[i];}

}printf

("%d\n"

,n-top)

;return0;

}

NOIP2014模擬10 26 數字對

小h是個善於思考的學生,現在她又在思考乙個有關序列的問題。她的面前浮現出乙個長度為n的序列,她想找出一段區間 l,r 1 l r n 這個特殊區間滿足,存在乙個k l k r 並且對於任意的i l i r ai都能被ak整除。這樣的乙個特殊區間 l,r 價值為r l。小h想知道序列中所有特殊區間的最...

noip2014 螺旋矩陣 (模擬)

p1913螺旋矩陣 accepted 標籤 noip普及組2014 乙個 n 行 n 列的螺旋矩陣可由如下方法生成 從矩陣的左上角 第 1 行第 1 列 出發,初始時向右移動 如果前方是未曾經過的格仔,則繼續前進,否則右轉 重複上述操作直至經過矩陣中所有格仔。根據經過順序,在格仔中 依次填入 1,2...

NOIP2014模擬11 3 蛋糕

今天是bessie的生日,他買了乙個蛋糕和朋友們一起分享,蛋糕可以看成是乙個r行c列的 共有r c個格仔,每個格仔都有乙個0至9的數字,表示該格仔蛋糕擁有的巧克力。現在bessie要把蛋糕橫的切3刀再豎的切3刀,由於bessie刀法厲害,所以每個格仔蛋糕都是完整的,顯然蛋糕會被切成16份,然後bes...