C 勤奮的楊老師 dp應用 二分

2021-08-19 15:53:26 字數 728 閱讀 8644

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32768k,其他語言65536k

64bit io format: %lld

楊老師認為他的學習能力曲線是乙個拱形。勤奮的他根據時間的先後順序羅列了乙個學習清單,共有n個知識點。但是清單中的知識並不是一定要學習的,可以在不改變先後順序的情況下有選擇的進行學習,而每乙個知識點都對應乙個難度值。楊老師希望,後學習的知識點的難度一定不低於前乙個知識點的難度(i=aj)。楊老師想盡可能多的學習知識。請問:楊老師最多可以學習多少知識?

第一行:乙個整數n(0示例1

51 4 2 5 1

4
題意:對於某個位置,求前部分的最長上公升子串行長度與後部分最長上公升子串行長度的和的最大值.

開四個陣列,前兩個陣列分別儲存的是前,後部分的最長上公升子串行.後兩個陣列儲存的是前,後部分的最長上公升子串行長度

最後再暴力走一遍,總的時間複雜度為o(nlogn).

#includeusing namespace std;

int dp1[500010],dp2[500010],d1[500010],d2[500010],a[500010],n;

void my_solve()

for(int i=0;is=max(s,d1[i]+d2[i]-1);

printf("%d\n",s);

}int main()

c 二分答案 基礎應用

使得x x達到或超過n位數字的最小正整數x是多少?n 2000000000 對與這種較難求解的問題,我們很難想出較好的解決策略。但是,我們至少知道答案一定在1與2000000000之間,能否轉換二分查詢的思想,對答案進行二分查詢呢?當然是可以的,但在二分查詢中有比較,在二分答案中,我們也需要有比較,...

二分查詢的應用

二分查詢是一種很有效率的查詢方式,每次查詢後餘下的區間是指數級遞減的。二分查詢的限制也很明顯,就是資料必須是拍過序的。首先我們來看通過二分查詢的方式來計算乙個數的平方根 def mysqrt n int,left int,right int,bit num float mid left right ...

二分查詢的應用

最大的最小值,最小的最大值用二分 這個發現緣起於兩段看似相同的 這兩段 看似相同,實則大有學問 我編了乙個簡單的題目 在1,2,3,三個數中找到大於等於2的最小值 這是乙個求最小的最大值的問題,按道理來我們要用左開右閉的區間 及靠上方的 去逼近答案 若用靠下方的 左閉右開的區間 則步驟如下 1 l ...