題意:
有乙個長度為n的序列a,一開始所有數為0,
q次操作,操作有兩種:
(c x v):將a[x]修改為v
(q l r):問[l,r]中第8大的數
資料範圍:n,q<=1e5,0<=a(i)<=1e9
解法:問題可以離線,因此可以整體二分。
ps:這題樹套樹也可以做,但是整體二分省空間
code:
#include
using
namespace std;
const
int maxm=
2e5+5;
struct qqq[maxm]
,lc[maxm]
,rc[maxm]
;int mark[maxm]
;int ans[maxm]
;int c[maxm]
;int n,q;
intlowbit
(int i)
void
add(
int i,
int t)
}int
ask(
int i)
return ans;
}void
solve
(int l,
int r,
int ql,
int qr)
return;}
int mid=
(l+r)
>>1;
int cnt1=
0,cnt2=0;
for(
int i=ql;i<=qr;i++
)else
if(q[i]
.op==2)
}for
(int i=ql;i<=qr;i++)}
for(
int i=
1;i<=cnt1;i++
)for
(int i=
1;i<=cnt2;i++
)solve
(l,mid,ql,ql+cnt1-1)
;solve
(mid+
1,r,ql+cnt1,qr);}
signed
main()
;//刪掉之前的
} q[
++tot]=;
mark[x]
=y;}
else;}
}solve(0
,1e9,1
,tot)
;for
(int i=
1;i<=q1;i++
)return0;
}
第八單元總結
第八單元總結 一.系統服務的控制 1.systemd 系統初始化程式,系統開始的第乙個程序,pid為1 2.systemctl 命令 systemctl list units 列出當前系統服務的狀態 systemctl list unit files 列出服務的開機狀態 systemctl stat...
第八講作業
控制姓名長度為6 20 號碼長度11 性別只能允許輸入男或女 每一樣資訊不允許為空 coding utf 8 global gender global judge global slect global tel global name defmenu global slect print 名片 功能...
回歸第八題
無向圖縮點,不知道為啥我寫tarjan就是過不了 注意最後一定要把縮點後的大小按照從大到小開始刪邊 比如說你刪4條,在乙個環中可以另外得到3個分量,但是如果放在兩個環裡面分別為刪兩邊,則總和只能得到2個分量 我的 只能過80的點 我真的盡力了,現在晚上1.55我困得喲死 includeusing n...