HDU1950 LIS二分模板題

2021-08-15 06:06:12 字數 434 閱讀 1391

題解:

今天學了個時間複雜度為o(nlogn)的lis模板,聽說這道題就是個模板題我就去做,然後過了。

下面是我學的部落格:

其中值得重點的是在d中二分查詢,找到第乙個比x小的數d[k],並d[k+1]=x,在這裡x<=d[k+1]一定成立.和求出來的d陣列並不是lis陣列,它只是儲存的對應長度lis的最小末尾。

#include

#include

#include

using

namespace

std;

int g[40007],a[40007],len;

int erfen(int x)

return l;

} int main()

}printf("%d\n",len);

}}

HDU 2298 三分 二分物理題 模板

題目 題意 二維面上給定目標座標和初速度,求在座標原點 0,0 發射出去能經過目標點的最小的角度。思路 寫出乙個高度關於角度的一元二次方程。看這個最大高度是否 y,判斷是否有解。這是乙個二次型凸函式。假如對稱軸為x,而且最大高度 y 即有解 0,x 這一段滿足二分單調性,找出函式值最接近y的角度即可...

hdu 1025 dp 二分 模板

題意 在一條河的兩邊各有n個位置,在這些位置之間建橋,要求所有橋之間不能交叉。現在告訴你所有可以建橋的位置,例如2,4,就是說河左邊的位置2可以與河右邊的位置4之間建橋,現在要求滿足要求的情況下最多可以建橋的個數。分析 想了好久發現是乙個最長上公升子串行問題,當時n比較大,所以一般的dp演算法不能解...

hdu 1025 二分法求LIS

題目給出兩個序列,兩個序列間有邊相連,我們要選出不交叉的邊,使得所選的邊最多 我們發現,如果我們對其中乙個序列從小到大排序的話,這個問題就變成了求另乙個序列的最長上公升子串行的問題。由於這個題目的資料比較大,一般的求最長上公升子串行的方法是n方的,顯然不能滿足題目的要求,我們建立乙個陣列g,g i ...