因為 \(n \leq 10^8\),\(m \leq 10^5\),所以可以用乙個域很大的權值線段樹動態開點維護。
開始 \(l=1\),\(r=n\),\([l,r]\) 的點值看作 \(1\),把乙個位置的數提前相當於 \(l-1\) 的位置加 \(1\),原來的位置 \(1\) 變為 \(0\),放後也類似。
用兩個 \(map\) 維護數的位置和編號的相互對映。
#include#define il inline
#define ll long long
using namespace std;
const int n=1e5+3,inf=1e8+1e5+10;
int n,m,ans,l,r,rt;
mapmp1,mp2;
il int in()
struct hh
int ask(int o,int l,int r,int rr)
int kth(int o,int l,int r,int k)
}t;int query(int x)
void work1(int x,int y)
void work2(int x)
void work3(int x)
void work4(int k)
int main()
return 0;
}
SCOI2014 方伯伯的OJ
資料範圍 n 108 m 105 n 108 m 105 一眼平衡樹。5分鐘出思路,調了3小時。我們不好直接維護排名的平衡樹,也不好直接維護編號的平衡樹。那就建2 2 顆平衡樹,一棵以編號中序遍歷,一棵以排名中序遍歷,每個節點開pa ir role presentation style positi...
P3287 SCOI2014 方伯伯的玉公尺田
首先可以證明,一定存在一種最優解,每次選擇的區間結尾都是 n 因為如果某乙個區間結尾不是 n 將其替換成 n 仍然保持單調不下降。接著都按這個策略拔高玉公尺。令 f 表示 1 sim i 這段字首進行了 j 次操作,第 boldsymbol i 株玉公尺不被拔掉,所能剩下最多的玉公尺。f max p...
P3287 SCOI2014 方伯伯的玉公尺田
p3287 scoi2014 方伯伯的玉公尺田 方伯伯在自己的農田邊散步,他突然發現田裡的一排玉公尺非常的不美。這排玉公尺一共有n株,它們的高度參差不齊。方伯伯認為單調不下降序列很美,所以他決定先把一些玉公尺拔高,再把破壞美感的玉公尺拔除掉,使得剩下的玉公尺的高度構成乙個單調不下降序列。方伯伯可以選...