日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[BZOJ5249][九省联考2018]IIIDX(线段树)

發布時間:2025/4/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [BZOJ5249][九省联考2018]IIIDX(线段树) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

5249: [2018多省省隊聯測]IIIDX

Time Limit: 40 Sec??Memory Limit: 512 MB
Submit: 32??Solved: 17
[Submit][Status][Discuss]

Description

【題目背景】 Osu聽過沒?那是Konano最喜歡的一款音樂游戲,而他的夢想就是有一天自己也能做個獨特酷炫的音樂游戲?,F在 ,他在世界知名游戲公司KONMAI內工作,離他的夢想也越來越近了。這款音樂游戲內一般都包含了許多歌曲,歌曲 越多,玩家越不易玩膩。同時,為了使玩家在游戲上氪更多的金錢花更多的時間,游戲一開始一般都不會將所有曲 目公開,有些曲目你需要通關某首特定歌曲才會解鎖,而且越晚解鎖的曲目難度越高。 【題目描述】 這一天,Konano接到了一個任務,他需要給正在制作中的游戲《IIIDX》安排曲目的解鎖順序。游戲內共有n首曲目 ,每首曲目都會有一個難度d,游戲內第i首曲目會在玩家Pass第trunc(i/k)首曲目后解鎖(x為下取整符號)若tru nc(i/k)=0,則說明這首曲目無需解鎖。舉個例子:當k=2時,第1首曲目是無需解鎖的(trunc(1/2)=0),第7首曲 目需要玩家Pass第trunc(7/2)=3首曲目才會被解鎖。Konano的工作,便是安排這些曲目的順序,使得每次解鎖出的 曲子的難度不低于作為條件需要玩家通關的曲子的難度,即使得確定順序后的曲目的難度對于每個i滿足Di≥Dtrun c(i/k)。當然這難不倒曾經在信息學競賽摸魚許久的Konano。那假如是你,你會怎么解決這份任務呢

Input

第1行1個正整數n和1個小數k,n表示曲目數量,k其含義如題所示。 第2行n個用空格隔開的正整數d,表示這n首曲目的難度。 1 ≤ n ≤ 500000 1 < k ≤ 10^9 1 < d ≤ 10^9

Output

輸出1行n個整數,按順序輸出安排完曲目順序后第i首曲目的難度。 若有多解,則輸出d1最大的;若仍有多解,則輸出d2最大的,以此類推。

Sample Input

4 2.0
114 514 1919 810

Sample Output

114 810 514 1919

HINT

Source

[Submit][Status][Discuss]

首先有一個顯然的貪心,把樹建出來然后后序遍歷從大到小填數即可。

但是這樣在有重復數字的情況下是不行的,如:

?4 2

1 1 1 2

這樣貪心答案是1 1 1 2,但正確答案是1 1 2 1。

這就需要對每個數進行“預訂”操作。考慮將數從小到大填進樹里,顯然當前可能填進的節點一定與已經填過的節點相鄰,所以我們把這些節點子樹都“預訂”好,然后找到最靠后的,且不造成上面那個錯誤的節點填入,最終整棵樹就填好了。

具體實現很難講清楚,還是看代碼吧。

1 #include <cmath> 2 #include <cstdio> 3 #include <algorithm> 4 #define N 500010 5 #define lson l ,mid ,x << 1 6 #define rson mid + 1 ,r ,x << 1 | 1 7 #define rep(i,l,r) for (int i=l; i<=r; i++) 8 using namespace std; 9 int a[N] ,ans[N] ,head[N] ,to[N] ,nxt[N] ,cnt ,si[N] ,sum[N << 2]; 10 11 void add(int x ,int y){ to[++cnt] = y ,nxt[cnt] = head[x] ,head[x] = cnt ,si[x] += si[y]; } 12 13 void update(int p ,int a ,int l ,int r ,int x){ 14 sum[x] += a; 15 if(l == r) return; 16 int mid = (l + r) >> 1; 17 if(p <= mid) update(p ,a ,lson); 18 else update(p ,a ,rson); 19 } 20 21 int find(int k ,int l ,int r ,int x){ 22 if(l == r) return l; 23 int mid = (l + r) >> 1; 24 if(sum[x << 1 | 1] < k) return find(k - sum[x << 1 | 1] ,lson); 25 else return find(k ,rson); 26 } 27 28 int main(){ 29 int n ,i ,j ,t ,l ,last = 1; 30 double k; scanf("%d%lf" ,&n ,&k); 31 rep(i,1,n) scanf("%d" ,&a[i]) ,si[i] = 1; 32 sort(a + 1 ,a + n + 1); 33 for(i = n ; i ; i -- ) add((int)floor(i / k) ,i); 34 for(i = head[0] ; i ; i = nxt[i]) update(to[i] ,si[to[i]] ,1 ,n ,1); 35 for(i = 1 ; i <= n ; i = last){ 36 while(last <= n && a[i] == a[last]) last ++ ; 37 for(j = last - i ; j ; j -- ){ 38 t = find(j ,1 ,n ,1) ,ans[t] = a[i] ,update(t ,-si[t] ,1 ,n ,1); 39 for(l = head[t] ; l ; l = nxt[l]) update(to[l] ,si[to[l]] ,1 ,n ,1); 40 } 41 } 42 rep(i,1,n) printf("%d " ,ans[i]); 43 return 0; 44 }

?

轉載于:https://www.cnblogs.com/HocRiser/p/8742680.html

總結

以上是生活随笔為你收集整理的[BZOJ5249][九省联考2018]IIIDX(线段树)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一区二区三区在线观看视频 | 张柏芝亚洲一区二区三区 | 免费av小说 | 国外成人性视频免费 | 亚洲成熟少妇视频在线观看 | 91九色视频在线 | 国产福利一区二区三区 | 国产精品欧美精品 | 欧美做受高潮6 | 国产精品一区二区三区久久久 | 国产无遮挡呻吟娇喘视频 | 中文字幕有码在线观看 | 一级做a在线观看 | 国产一线在线观看 | 欧美a性| 欧美69av| a级在线观看 | 亚洲偷偷自拍 | 亚洲一区二区91 | 一区二区在线看 | 国产极品美女高潮无套在线观看 | 一区二区三区丝袜 | 超碰下载页面 | 在线观看国产一区二区三区 | 国产无套丰满白嫩对白 | 97自拍视频在线 | 视频一区二区中文字幕 | 久久精品国产视频 | 久久欧美 | 九九热最新视频 | 国产精品视频导航 | 外国电影免费观看高清完整版 | 精品裸体舞一区二区三区 | 激情丁香婷婷 | 波多野结衣喷潮 | 色五婷婷 | 台湾佬美性中文网 | 与子敌伦刺激对白播放的优点 | 加勒比hezyo黑人专区 | 深夜视频一区二区 | 久操热线| 影音先锋黄色网址 | 成人涩涩网站 | 超碰91人人 | 成人免费视频一区二区三区 | 18成人在线| 91丨porny丨首页 | 香蕉国产999 | 日本免费高清 | 欧美另类精品xxxx孕妇 | 国产精品久久久久久久久久久久午夜片 | 欧美激情在线免费 | av手机观看 | 白浆影院 | 91蝌蚪| 玖玖玖在线观看 | 国产精品久久久久久久久久久久久久久 | 中文av在线播放 | 久久综合九色综合网站 | 五月天av影院 | 中文字幕少妇 | 波多野结衣a v在线 欧洲免费av | 在线高清免费观看 | 丰满少妇一级片 | 69久久| 黄色一级录像片 | wwwav网站 | 香蕉国产片 | 极品人妻一区二区三区 | 黄色特一级 | 69xx视频在线观看 | 欧美色就是色 | 肉丝袜脚交视频一区二区 | 国产一区二区亚洲 | 91插插插永久免费 | 尤物毛片| 黄视频在线观看免费 | 中文字幕人妻丝袜乱一区三区 | 91精品国产一区二区三区 | 最新国产三级 | 少妇久久久久久久 | 91久久一区二区 | 91色影院 | 九九热精品在线 | 欧美人与禽zoz0性3d | 青青草精品 | 69精品国产 | 黄色网在线免费观看 | 日本妈妈9 | 国产老熟女伦老熟妇露脸 | 国产视频在线免费观看 | 大肉大捧一进一出好爽视频 | 国内自拍av | 黄色污污网站在线观看 | 91视频在线观看网站 | 天天精品视频 | 好男人天堂网 | 成人网导航 | 91网站观看|