poj 2970 優先佇列

2021-06-23 00:58:40 字數 535 閱讀 6161

先按di排序,(從小到大)。然後依次完成合同,若發現第i個合同無法在截止日期前完成,便從之前已經完成的任務中選乙個aj最大的合同,付錢來使得這個合同盡快完成。

#include

#include

#include

#include

#include

using namespace std;

struct node

{int q;

int w;

bool operator < (const node& t) const {

return qq;

int main()

{int a;

//priority_queueq;

while(~scanf("%d",&a))

{while(!q.empty())

q.pop();

for(int i=0;iyy[i].e&&!q.empty())

{node ee=q.top();

q.pop();

if(ee.w

poj 2010(優先佇列)

題意 奶牛大學 奶大招生,從c頭奶牛中招收n頭。它們分別得分score i,需要資助學費aid i。希望新生所需資助不超過f,同時得分中位數最高。求此中位數。解題思路 這裡要求最大中位數,中位數肯定是在這些人中間,故可以列舉中位數,可以先對分數進行排序,然後用二分去找最大中位數。每次列舉的中位數應該...

POJ 2431(優先佇列)

題意 從起點到終點距離為n,走1單位路程消耗1單位油,路上會有m個加油站分別出現在si的位置,路過加油站時可以選擇是否加油。問到達加油站最少需要加幾次油,不能到輸出 1.分析 整體上來看,汽車每經過乙個加油站就擁有了在這個加油站加油的能力,可以將加油站加入優先佇列,沒油時優先選取大的。收穫 路過即獲...

POJ 2010 優先佇列

題目大意 有c個牛,每個牛有分數c和學費f,現一共總可以提供f的學費給n個牛,問所有情況中c的中位數最大是多少 題目解析 首先按照c排序,再列舉每頭牛作為中位數進行判斷,先預處理出l和r陣列,代表第i頭牛左邊和右邊n 2頭牛f總和的最小值 一開始看著書上以為是二分,還能過,其實是不可以的,因為那個條...