hdu1789(經典貪心)

2022-04-28 15:54:16 字數 514 閱讀 5760

題意:有t組測試資料,每組測試資料中有n門功課,第一排完成它們的時間限制,第二排是未在限制的時間內完成的要扣除的分數,然後是需要求扣的分數最少。

思路:一開始在想著用dp做,結果沒有d出來,於是去看解題報告,發現可以用貪心做,但是我也沒有想到思路......是這樣的,對分數按從大到小排次序,然後列舉限定的時間,若是某一天沒有被標記,就用這一天來完成這一門作業,若是列舉到0了,說明在限定時間內沒有哪一天可以完成這門作業,那麼就扣除這門課的分數......

具體看**吧:

#include#include#include#includeusing namespace std;

struct ss

t[100000];

int f[100000];

int cmp(const ss a,const ss b)

if(j==0)

sum+=t[i].p;

}printf("%d\n",sum);

}return 0;

}

hdu1789 貪心 回溯

hdu1789 鏈結題目傳送 include include include includeusing namespace std define n 10010 int v n t,sum,n,flag struct node bool cmp node a,node b int main if f...

第六次 hdu 1789 貪心

hdu 1789 題意 ignatius有n項作業要完成。每項作業都ddl,如果不在ddl前完成作業,期末考就會被扣相應的分數。給出測試資料t表示測試數,每個測試以n開始 n為0時結束 接下來一行有n個資料,分別是作業的限期,再有一行也有n個資料,分別是若不完成次作業會在期末時被扣的分數。求出他最佳...

HDU 1789 做作業使罰分少,貪心

貪心。先考慮分值大的作業,如果使其在截至日期當天做,如果當天已經被占用,那麼往前推一天,如果前面的全部被占用,則該作業無法完成。1a,程式設計出了點情況,浪費了時間,跟蹤比閱讀 好用。能較快找到問題。include using namespace std const int n 1001 int a...