Magic Powder - 1 CodeForces - 670D1(优先队列进一步理解)
生活随笔
收集整理的這篇文章主要介紹了
Magic Powder - 1 CodeForces - 670D1(优先队列进一步理解)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫這個題的時候一直在想怎么才能動態排序(一遍改變數值,一遍從新改變相應的順序),到最后才突然想起來這不就是優先隊列嗎,通過這題對優先隊列的動態排序有了進一步理解。好題!
AC代碼:
#include <iostream> #include <cstring> #include <cstdio> #include <queue> #include <algorithm> using namespace std; const int maxn=1e6+5; struct node{int need,has;bool operator<(const node&a)const{return (a.has/a.need)<(has/need);} }x[maxn]; priority_queue<node>q; int main(){int n,k;cin>>n>>k;for(int i=1;i<=n;i++)cin>>x[i].need;for(int i=1;i<=n;i++)cin>>x[i].has;for(int i=1;i<=n;i++)q.push(x[i]);while(k){node temp=q.top();q.pop();temp.has++;k--;q.push(temp);}int ans=q.top().has/q.top().need;cout<<ans<<endl; }?
總結
以上是生活随笔為你收集整理的Magic Powder - 1 CodeForces - 670D1(优先队列进一步理解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机按照原理分为哪几种,计算机按原理可
- 下一篇: 猪八戒网--中国威客交易平台