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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

POJ 2010 Moo University - Financial Aid(堆维护滑窗kth,二分)

發布時間:2025/7/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 2010 Moo University - Financial Aid(堆维护滑窗kth,二分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按照score排序,貪心,從左到右用堆維護并且記錄前面的最小N/2個花費之和。

然后從右向左枚舉中位數,維護N/2個數之和加上并判斷是否滿足條件。(stl的隊列沒有clear(),只能一個一個pop...

復雜度O(nlogn)?

也可以二分。先按照score排序,記錄備份牛在排序后的下標。然后將備份按照資金排序,

,二分中位數的值,對于mid值,按照備份順序貪心選擇牛,根據之前的下標判斷在左邊或者右邊。

因為是最貪心的選,如果兩邊都不夠,說明無解。如果某一邊少了,mid就應該往相反的方向移動。

如果滿足條件就記錄答案,并向上縮小區間。

復雜度也是O(nlogn)

#include<cstdio> #include<iostream> #include<string> #include<cstring> #include<queue> #include<vector> #include<stack> #include<vector> #include<map> #include<set> #include<algorithm> //#include<bits/stdc++.h> using namespace std;#define PB push_back #define MP make_pair #define fi first #define se second #define PS pushconst int maxn = 1e5+5; const int maxsz = 1e4+5; struct BinaryHEAP {int Heap[maxsz];int sz;#define Cmp(a,b) ((a)>(b))void push(int x){int i = ++sz;while(i > 1){int p = i>>1;if(!Cmp(x,Heap[p])) break;Heap[i] = Heap[p];i = p;}Heap[i] = x;}void pop(){int x = Heap[sz--];int i = 1;while((i<<1)<=sz){int a = i<<1, b = i<<1|1;if(b<=sz && Cmp(Heap[b],Heap[a])) a = b;if(!Cmp(Heap[a],x)) break;Heap[i] = Heap[a];i = a;}Heap[i] = x;}int top(){ return Heap[1]; }//int operator[](int x){ return Heap[x]; } }q;pair<int,int> cow[maxn]; int N, C, F; int Half; int preSum[maxn];int sol() {sort(cow,cow+C);int Half = N>>1, sum = 0;for(int i = 0; i < Half; i++) {sum += cow[i].se;q.push(cow[i].se);}for(int i = Half; i < C-Half; i++){preSum[i] = sum;if(q.top() > cow[i].se) {sum -= q.top();q.pop();sum += cow[i].se;q.push(cow[i].se);}}q.sz = 0;sum = 0;for(int i = C-Half; i < C; i++) {sum += cow[i].se;q.push(cow[i].se);}for(int i = C-Half; --i >= Half; ){if(sum + preSum[i] + cow[i].se <= F) return cow[i].fi;if(q.top() > cow[i].se) {sum -= q.top();q.pop();sum += cow[i].se;q.push(cow[i].se);}}return -1; }//#define LOCAL int main() { #ifdef LOCALfreopen("in.txt","r",stdin); #endifscanf("%d%d%d",&N,&C,&F);for(int i = 0; i < C; i++){scanf("%d%d",&cow[i].fi,&cow[i].se);}printf("%d\n",sol());return 0; }

?

轉載于:https://www.cnblogs.com/jerryRey/p/4889437.html

總結

以上是生活随笔為你收集整理的POJ 2010 Moo University - Financial Aid(堆维护滑窗kth,二分)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产福利一区二区三区视频 | 一区二区欧美在线 | 开心激情网五月天 | 国产伦精品一区二区三区网站 | 99久精品视频 | 国产精品九一 | 葵司在线视频 | 免费一级特黄特色大片 | 国产网址| 青青草视频免费观看 | 国产精品一区在线免费观看 | 韩国中文字幕hd久久精品 | 亚洲午夜18毛片在线看 | 人人妻人人澡人人爽精品欧美一区 | 国产人妻精品一区二区三区不卡 | 婷婷色亚洲| 美女三级网站 | 亚洲一区二区在线 | 777片理伦片在线观看 | 网址在线观看你懂的 | 日韩不卡一二三区 | 欧美国产一区二区在线观看 | 免费成人深夜在线观看 | 亚洲一区二区三区欧美 | 国产亚洲一区二区三区在线观看 | 97成网| 捆绑黑丝美女 | 日韩视频久久 | 国产精品区一区二 | 日本亚洲精品 | 色丁香婷婷综合久久 | 日本不卡一区二区三区在线观看 | 国产色频 | 天天色成人网 | 欧美日韩国产一区在线 | 国产久草视频 | 一本一道无码中文字幕精品热 | 美女精品在线观看 | 国产福利视频一区 | 久久久久久国产精品无码 | 好看的国产精品 | 北条麻妃一区二区三区 | 熟女人妇 成熟妇女系列视频 | 精品国产综合区久久久久久 | 中日韩午夜理伦电影免费 | 亚洲熟妇无码av在线播放 | 视色av| 三级欧美韩日大片在线看 | 欧美成网 | 国产h视频在线观看 | 日韩在线精品视频一区二区涩爱 | 国精产品一区一区三区有限公司杨 | 青青国产在线视频 | 饥渴的少妇和男按摩师 | 国产精品88久久久久久妇女 | 亚洲国产一区二区三区a毛片 | 国产精品一区二区性色av | 欧美成人午夜精品久久久 | 草草色| 日韩久久久久久久久久 | 色狠| 天天干天天爱天天射 | 麻豆视频成人 | 国产黄色一区二区三区 | 99视频+国产日韩欧美 | 欧美成人久久久免费播放 | 成人三级在线看 | 自拍欧美日韩 | 欧美18一20男同69gay | 欧美三级a | 亚洲精品久久久 | 精国产品一区二区三区a片 国产精品第一 | 日韩电影网站 | 国产91一区二区三区在线精品 | 国产亚洲欧美在线视频 | 久久久久久久久久久97 | 欧美日韩成人免费 | 秋霞av鲁丝片一区二区 | 麻豆偷拍 | 欧美性久久久 | 五月丁香综合激情六月久久 | 粉嫩在线 | 手机在线看永久av片免费 | 久久影院午夜理论片无码 | 久久一区二区三区视频 | 人妻一区二区三区 | 免费看美女被靠到爽的视频 | 中文在线免费看视频 | 色姑娘久| 亚洲精品在线播放视频 | 国产视频一区三区 | 欧美日韩午夜精品 | 欧美一区二区三区网站 | 国产精品1000部啪视频 | 一区二区三区国产av | av尤物| 精品一区二区三区免费观看 | 不卡一区二区在线 | 久久色资源网 |