解題思路:
題目要求最短時間完成所有的考驗,如果直接去求最短時間應該是不太現實的,因為這種思路既不符合貪心,又不能dp。仔細看不難發現,如果假設乙個天數x,是可以通過從後往前貪心的方法去驗證x天內是否可以完成所有的考驗。
具體貪心方法是:假如x天之前都沒有進行考驗,那麼對於第x天有x-1天的「空閒天」可以準備第x天的考驗,於是從第x天向第0天判斷每一天是不是有未完成考驗,如果有就從空閒天中減去這個考驗所需要的準備天數,依次維護空閒天數進行判斷,最後判斷一下是不是所有的考驗都通過了即可。
但是如果從1到n列舉天數x是o(n^2)的複雜度,肯定是不行的,然後又發現假設天數y可以完成,那麼天數大於y的都能完成,同樣加入天數y不能完成,小於y的都不能完成,這就有了滿足了二分判斷所需要的性質,於是二分判斷,複雜度滿足題意。
**:
#include
#include
const
int max = 1e6 + 100;
int vis[max];
int data[max], need[max];
int isok(int n, int m)
else
if (mem > 0)mem--;
else ans--;
if (ans <= 0)
break;
}return0;}
int main()
else
}printf("%d\n", ans);
}return
0;}
山東理工大學 順序表練習題答案
使用需明白,我提供的 並不是給大家抄的,而是給大家乙個思路來做題。如果你一開始就會意錯了的話 只會抄的話 你的水平永遠不會得到大的飛躍,如果你還對自己有嚴格的要求的話,就可以略微參考一下。有什麼不好或不對的地方歡迎提出。有什麼不懂的地方可以盡可能的提出來,我會做解答。可以當面叫我解答 提供給我小組的...
第九屆acm山東省賽總結
第一次省賽感受頗多。就自己而言有開心有不開心,更多的是遺憾。遺憾自己水平太菜,遺憾最後關頭把題目讀錯了讓學長走了不少彎路還是時間不夠了。遺憾他們最後退役時也沒拿到金,原因跟我有不少關係。也為比我還努力的隊員們由於出題方原因沒拿到牌而感到不公平。然而過去的只能是過去,過去說明不了什麼,歡喜而來,沉重而...
第九屆山東省ACM競賽總結
時間飛逝,轉眼間大一已經接近尾聲了,我仍然記得剛開學時對acm的崇敬之情,當時為能否進acm而擔心,然後為能否留在acm而擔心,後來為能否參加省賽而擔心。備戰省賽。首先,我要感謝集訓隊的師哥們,我能感受到師哥們對這次省賽的看重,因為這會成為許多師哥的退役賽,在這樣的情況下,師哥們可以說是擠出時間來給...