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

2021-06-08 23:05:18 字數 614 閱讀 7680

貪心。先考慮分值大的作業,如果使其在截至日期當天做,如果當天已經被占用,那麼往前推一天,如果前面的全部被占用,則該作業無法完成。

1a,程式設計出了點情況,浪費了時間,跟蹤比閱讀**好用。能較快找到問題。

#include using namespace std;

const int n = 1001;

int a[n];//時間

int b[n];//扣分

int flag[n];//是否已經判斷過

int dp[n];//當天任務值

int main()

for(int i = 0; i < n; i++)

memset(flag, 0, sizeof(flag));

memset(dp, 0, sizeof(dp));

int md = maxdate;

while(md--)

}if(max > -1)

}if(jieshou == 0)

}} for(int i = 1; i <= maxdate; i++)

cout << sum << endl;

} 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...

hdu1789(經典貪心)

題意 有t組測試資料,每組測試資料中有n門功課,第一排完成它們的時間限制,第二排是未在限制的時間內完成的要扣除的分數,然後是需要求扣的分數最少。思路 一開始在想著用dp做,結果沒有d出來,於是去看解題報告,發現可以用貪心做,但是我也沒有想到思路.是這樣的,對分數按從大到小排次序,然後列舉限定的時間,...

貪心 做作業順序。c

有n個作業,每個作業都有自己的 ddl,如果沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。需要求出如何安排做作業的順序,才能盡可能少扣一點分。輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用例的數量。每個測試用例以乙個正整數n開頭 1 n 1000 表示作業的數量。然後...