>description
現有數列a ,修改最少的數字,使得數列嚴格單調遞增。
>input
第1行,1個整數n(1<=n<=100000)
第2行,n個整數a1,a2,……an(1<=ai<=1000000000)
>output
1個整數,表示最少修改的數字
>sample input
31 3 2
>sample output
1>解題思路
一開始還以為是算逆序對的一道題,但是一直做不出來,看了一下題解才發現是用二分。****
列舉每乙個數,把數列存進陣列a,如果當前數大於陣列的最後乙個數,就直接加入陣列,不然就用二分在陣列中找到大於當前數的第乙個數的位置存入。
>**
#include
#include
using namespace std;
int f,n,ans,aa,a[
100005];
int main()
a[l]
=aa;}}
printf
("%d"
,ans)
;return0;
}
LIS,二分 洛谷P3902 遞增
求將乙個序列轉換為嚴格遞增序列的最小次數 求出乙個最長上公升的子串行,剩下的元素個數即為要修改的次數,由於資料很大,我們需要用到nl ogn nlo gn 的方法,其實,在二分查詢的每次替換中就可以當作一次修改操作,我們可以利用這個特性直接求出答案,而不必用 n n 去減 include inclu...
Luogu 1083 借教室(二分,差分)
在大學期間,經常需要租借教室。大到院系舉辦活動,小到學習小組自習討論,都需要 向學校申請借教室。教室的大小功能不同,借教室人的身份不同,借教室的手續也不一樣。面對海量租借教室的資訊,我們自然希望程式設計解決這個問題。我們需要處理接下來n天的借教室資訊,其中第i天學校有ri個教室可供租借。共有m份 訂...
最長遞增子串行!!!(DP ,二分)
最長遞增子串行 time limit 1000 ms memory limit 32768 k total submit 158 64 users total accepted 68 56 users rating special judge no description 給出乙個數字序列求其最長的...