飯卡 杭電oj

2021-06-22 23:17:25 字數 637 閱讀 9999

/*

解題思路就是沒有5元的直接輸出

大於5元的要用5元貪心價值最大的

減去5元後的錢要最優即動態規劃中的01揹包

*/#include

#include

#include

using namespace std;

int c[1005][1005];

int max(int a,int b)

int main()

m1=m;

m-=5;

sort(p+1,p+1+n);

memset(c,0,sizeof(c));

for(i=1;i=0)

else

c[i][j]=c[i-1][j];}}

printf("%d\n",m1-c[n-1][m]-p[n]);

}return 0;

/*證明一下為什麼要用5元貪心價值最大的

如果 a1+....+an<=x-5的話全部買完不用討論

那麼a1+...+an>x-5才是貪心最後乙個的前提條件

1:   如果a1+...+an-1==x-5的話貪心最後乙個肯定是最優的

2:    如果a1+....+an-1x-5可化為1和2但貪心的元素必定是an

*/

杭電 2546 飯卡

problem description 電子科大本部食堂的飯卡有一種很詭異的設計,即在購買之前判斷餘額。如果購買乙個商品之前,卡上的剩餘金額大於或等於5元,就一定可以購買成功 即使購買後卡上餘額為負 否則無法購買 即使金額足夠 所以大家都希望盡量使卡上的餘額最少。某天,食堂中有n種菜 每種菜可購買一...

杭電 2546 飯卡 01揹包

解題思路 先忽略飯卡餘額大於等於5塊才能買飯這一細節,需要求的是飯卡裡面剩餘的錢最少,轉化一下,變成花的錢最多,那麼剩下的錢就最少,再考慮餘額大於等於5塊才能買飯這一細節,可以這樣想,如果卡里的餘額不足5塊,那麼買不到飯,直接輸出現在卡里的金額,如果卡里的錢多於5塊,我們就可以先將這5塊錢留起來,這...

杭電oj 迷瘴

通過懸崖的yifenfei,又面臨著幽谷的考驗 幽谷周圍瘴氣瀰漫,靜的可怕,隱約可見地上堆滿了骷髏。由於此處長年不見天日,導致空氣中布滿了毒素,一旦吸入體內,便會全身潰爛而死。幸好yifenfei早有防備,提前備好了解藥材料 各種濃度的萬能藥水 現在只需按照配置成不同比例的濃度。現已知yifenfe...