題解 P4058 Code 1 木材

2022-05-24 07:21:12 字數 669 閱讀 9395

這什麼題啊,不就是個二分答案我從65到100都經歷了一遍……(瞬間氣哭)

題目理解起來不難的,大意就懶得寫了。

一眼二分答案。

此題屬於在形如 \(\\) 的序列中查詢第乙個 \(1\) 的題型。

演算法流程:

初始化 \(l=0,r=inf\) ( \(r\) 盡可能大)。

如果 \(l=r\) ,停止迴圈。

計算中點 \(mid=\left\lfloor\dfrac\right\rfloor\)。

若等待 \(mid\) 個月滿足條件, \(r=mid\) 。

否則 \(l=mid+1\) 。

回到2。

至於如何判斷是否滿足條件,寫乙個函式check一下就珂以了啦~

什麼都要開unsigned long long,否則會wa的很慘。

#includeusing namespace std;

unsigned long long n,s,k,mid,a[200005],h[200005];

bool check(unsigned long long x)

int main()

//二分

printf("%lld",l);//輸出結果

return 0;

}

題解 Code 1 Yazid 的新生舞會

upd cnt i 代表值為 i 的個數 我們可以暴力列舉眾數 k 把等於 k 的賦值成 1 不等於 k 的賦值成 1 這樣原序列就變成了一段折線 我們把他剖開一段一段來分析 這些藍線的左右端點分別為,乙個值為眾數的數的位置,和它下乙個值為眾數的數的位置的前乙個位置 為了方便,我們定義 0 n 1 ...

題解 P6435 EZEC 1 數列

傳送門 久違地來一波題解,來乙個數學角度推式子的方法 記第 k 次合併後的第 i 個數為 f 根據題意,所求即為 ans f 且有 f af bf c,f i 形式上,我們設 exists d wedge f d a f d b f d 則不難換算出 a b 1 d c 注意,只是形式上這樣設,d ...

P3374 模板 樹狀陣列 1 題解

同步 原題鏈結 給定乙個長度為 n nn 的陣列,q qq 組操作 顯然,假設你現在什麼也不會。我們只考慮第 2 22 個操作,即先不考慮修改,如何處理區間和的詢問?顯然,對於初始的陣列 a ia i ai 只需要做乙個字首和 s ss 使得 s j i 1 ja is j sum j a i sj...