D Max Median 二分 思維

2022-06-19 02:12:10 字數 459 閱讀 7534

d. max median 二分 + 思維

題目大意:

給你乙個長度為n的序列,乙個長度為 x 的中位數是 這個序列重新排序之後的 \(\frac\) 向下取整的位置,讓你求長度至少為 \(k\) 的子串行的最大中位數是多少?

題解:

#include using namespace std;

typedef long long ll;

const int maxn = 2e5+10;

int pre[maxn],premin[maxn],n,k,a[maxn];

bool check(int x)

for(int i=k;i<=n;i++)

return false;

}int main()

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

return 0;

}

二分 差分 思維

二分 差分 思維 當猜了乙個數 x 總共有三種情況 裁判說數大了,那麼裁判說對的取值範圍是 x 裁判說數小了,那麼裁判說對的取值範圍是 x,裁判說數一樣,那麼裁判說對的取值範圍是 x,x 那麼我們只需要求最大有多少個區間重疊了就行了,問題就轉化成了區間的修改,單點查詢,可以考慮差分了。注意題目資料 ...

攀爬 二分, 思維

若存在乙個合法的攀爬序列,則其形式一定是 ak i 1 m ai bi la sum limits m a i b i geq l ak i 1 m ai bi l,於是考慮列舉 a ka k ak 設 di ai b id i a i b i di ai bi 按 d dd從大到小排序,然後 o ...

Maximum Value (二分 思維列舉)

you are given a sequence a consisting of n integers.find the maximum possible value of i divided by a j where 1 i,j n and a i a j.input the first line...