首先,二叉搜尋樹。。。
來個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...