#9823: 用multiset的方法AC


p3a_owhj (阿普二信)

學校 : 不指定學校
編號 : 39897
來源 : [36.227.79.178]
最後登入時間 :
2024-06-04 22:09:36
d713. 中位数 -- UVa10107加強版 | From: [119.77.194.213] | 發表日期 : 2015-04-28 22:32

一開始想到要維持樹的平衡好像很累人,不知還有沒有更好的方法?

偷懶,試了幾個方法都不行,最後想到用現成的set,AC了! 

假設最少有一個數字放入mutliset<int> s中,iterator是it
另一個bool sw記錄目前set中有奇數或偶數個,
若奇數:新增的數比(*it)小則將(*it)及(it的前一個)相加÷2輸出
        >=(*it)則將(*it)及(it的後一個)相加÷2輸出
若偶數:新增的數比(*it)小則將(*it)輸出
        >=(*it)則將it後移一個,輸出新的(*it)
以上it維持指向{奇:中間、偶:中偏左}

以set維持排序只需 n.log(n) ,每新增一數也只要前移或後移1格,果然AC

 

 
#12424: Re:用multiset的方法AC


a5083 (assassin刺客大師)

學校 : 新北市立板橋高級中學
編號 : 28347
來源 : [140.116.138.99]
最後登入時間 :
2017-06-27 17:13:56
d713. 中位数 -- UVa10107加強版 | From: [140.116.92.38] | 發表日期 : 2017-07-24 19:54

一開始想到要維持樹的平衡好像很累人,不知還有沒有更好的方法?

偷懶,試了幾個方法都不行,最後想到用現成的set,AC了! 

假設最少有一個數字放入mutliset s中,iterator是it
另一個bool sw記錄目前set中有奇數或偶數個,
若奇數:新增的數比(*it)小則將(*it)及(it的前一個)相加÷2輸出
        >=(*it)則將(*it)及(it的後一個)相加÷2輸出
若偶數:新增的數比(*it)小則將(*it)輸出
        >=(*it)則將it後移一個,輸出新的(*it)
以上it維持指向{奇:中間、偶:中偏左}

以set維持排序只需 n.log(n) ,每新增一數也只要前移或後移1格,果然AC

 

更正:

若奇數:新增的數比(*it)小則將(*it)及(it的前一個)相加÷2輸出

           新增的數比(*it)大則將(*it)及(it的後一個)相加÷2輸出,且it後移一格

           新增的數等於(*it)則將(*it)及(it的後一個)相加÷2輸出


若偶數:新增的數比(*it)大或等於(*it)則將(*it)輸出

           新增的數比(*it)小則將it前移一個,輸出新的(*it)

以上it維持指向{奇:中間、偶:中偏右}
        

 

 
#12425: Re:用multiset的方法AC


a5083 (assassin刺客大師)

學校 : 新北市立板橋高級中學
編號 : 28347
來源 : [140.116.138.99]
最後登入時間 :
2017-06-27 17:13:56
d713. 中位数 -- UVa10107加強版 | From: [140.116.92.38] | 發表日期 : 2017-07-24 20:11

一開始想到要維持樹的平衡好像很累人,不知還有沒有更好的方法?

偷懶,試了幾個方法都不行,最後想到用現成的set,AC了! 

假設最少有一個數字放入mutliset s中,iterator是it
另一個bool sw記錄目前set中有奇數或偶數個,
若奇數:新增的數比(*it)小則將(*it)及(it的前一個)相加÷2輸出
        >=(*it)則將(*it)及(it的後一個)相加÷2輸出
若偶數:新增的數比(*it)小則將(*it)輸出
        >=(*it)則將it後移一個,輸出新的(*it)
以上it維持指向{奇:中間、偶:中偏左}

以set維持排序只需 n.log(n) ,每新增一數也只要前移或後移1格,果然AC

 

抱歉再更正:

若奇數:新增的數比(*it)小則將(*it)及(it的前一個)相加÷2輸出

           新增的數比(*it)大或等於則將(*it)及(it的後一個)相加÷2輸出,且it後移一格


若偶數:新增的數比(*it)大或等於(*it)則將(*it)輸出

           新增的數比(*it)小則將it前移一個,輸出新的(*it)

以上it維持指向{奇:中間、偶:中偏右}
        

 




 
ZeroJudge Forum