時間限制: 1 sec 記憶體限制: 128 mb
2 2 2
1 01 1
2考試時居然有人看成了樹規。。。把中序遍歷搞出來就成了單調上公升,但是單調不下降子串行最好求。。
新技巧:把a[i]-i.這樣就變成單調不下降的了。
對n^2進行優化:記錄長度為i的不下降的子串行最小a[i]進行記錄,upper_bound進行查就行了。
#include#include#include#include#include#define n 100000
#define inf 1000000000
using namespace std;
int read()
while(x>='0'&&x<='9')
return sum*f;
}int n,a[n+5],lc[n+5],rc[n+5],val[n+5],cnt;
int f[n+5],t[n+5];
void tree(int x)
int main()
tree(1);
int ans=0;
for(int i=1;i<=n;i++)val[i]-=i;
for(int i=1;i<=n;i++)
//cout<
改造二叉樹
description 小y在學樹論時看到了有關二叉樹的介紹 在電腦科學中,二叉樹是每個結點最多有兩個子結點的有序樹。通常子結點被稱作 左孩子 和 右孩子 二叉樹被用作二叉搜尋樹和二叉堆。隨後他又和他人討論起了二叉搜尋樹。什麼是二叉搜尋樹呢?二叉搜尋樹首先是一棵二叉樹。設key p 表示結點p上的數...
改造二叉樹
題目描述 小y在學樹論時看到了有關二叉樹的介紹 在電腦科學中,二叉樹是每個結點最多有兩個子結點的有序樹。通常子結點被稱作 左孩子 和 右孩子 二叉樹被用作二叉搜尋樹和二叉堆。隨後他又和他人討論起了二叉搜尋樹。什麼是二叉搜尋樹呢?二叉搜尋樹首先是一棵二叉樹。設key p 表示結點p上的數值。對於其中的...
改造二叉樹(bst)
題目大意 給你一棵二叉樹,讓你改變最少的結點上的數值,使這棵二叉樹變成bst,求這個需要改變的最少的結點數。演算法 二分 dp 一開始就沒理解題目問的真正內涵,想了半天的樹型dp,結果肯定是果斷不對,看了題解才知道bst就是二叉樹中序遍歷之後保持有序,進一步得知其實就是要我們求lis。將這棵二叉樹中...