今天是校賽的日子,為了慶祝這麼喜慶的日子,
tmk打算買些禮物給女票
lsh慶祝一下。
tmk進入了雪梨超市,然後剛踏入的一瞬間,店主就對
tmk說:「恭喜你成為了本店第
2147483647
位顧客,本店在搞乙個活動,對本店第
2147483647
位顧客進行贈送活動。你先看看你有多少錢?」
tmk一摸口袋,發現只有
n個硬幣,每個硬幣的價值為
a[i]
。然後店主繼續說:「現在你用你的錢湊一些數,如果你的錢能湊成
[0,x]
裡面所有的數,那麼你將會免費獲得該店價值
x元的代金券,假設你有四個硬幣面值分別為
1,2,4
,100
,你就可以湊成
[0,7]
裡面所有的數,我們將會送你
7元的代金券。現在就用你的硬幣來試試吧。
enjoy yourself!」在
tmk努力湊錢的時候,店主想知道他要送多少代金券給
tmk。
第一行乙個整數
t,表示資料組數。
對於每組資料,首先讀入乙個整數n(
n<=100000
),然後接下來的一行有
n個整數,表示
a[i](0)
對於每個資料,輸出乙個整數
x,表示店主要送
x元的代金券給
tmk
131 2 3
6這道題是純粹的數學問題~
和多重揹包的分割方法很像
但是也有很多不同
這道題不一定一種硬幣只有乙個
所以,不要和多重背吧的分割方法弄混了
(具體多重揹包的分割方法在我另一篇部落格裡)
首先明確一點:
這種分割方法的核心就是替換
比如我有4個1元,乙個5元
我可以用1元的湊成1-4所有數,要湊5的時候那麼我拿出一張5元替換掉4張一元的
下面4元可以再接著往上湊,最後可以湊成1-9所有數
那麼假如我有12張1元的,3張5元的,那麼我按照上面方法可以湊成12+5+5+5元
1-27的所有數字
那麼方法就是這樣,上**
#include#includelong long a[105];
int main()
num=a[1];
//printf("%lld\n",num);
for(long long i=2; i<=100; i++)
else}}
}printf("%lld",num);
}}
廣東工業大學程式設計競賽決賽 C
小時候,我只能一階一階得爬樓梯,後來,我除了能一次爬一階,還可以一次爬兩階,到現在,我最多一次可以爬三階。那麼現在問題來了,我想爬上 n層樓,相鄰樓層之間有一段樓梯,雖然我一次可以爬 1個台階 2個台階和 3個台階,但是我在i與 i 1層之間的樓梯上時,我不能跨越到 i 1與 i 2層之間的樓梯。現...
19廣東工業大學 牛客J H補題
害!很久之前刷了一些題目,但是由於課程實在是沒時間好好品題 其實是太懶了 決心好好嚼一些當時沒有ac的題目!注 我是ac一題然後寫一題報告的,可能演算法有錯誤或者演算法不是最優,本人小白也請見諒 xd ac include using namespace std typedef long long ...
2023年廣東工業大學新生賽 B 騎士的對決
題目描述 這封信真是惡意滿滿啊 我感覺到頭在隱隱作痛 雖然四騎士之信可以被認為是奇蹟一般存在的禮裝,但是使用限制和所得結果都讓人頭疼不已。在通入魔力啟用之後,這封信上雖然顯示了很多資訊,但是全都是密文,就好像加密過的壓縮包,沒有正確的解壓密碼無法正確的得到資訊 所幸,這個解壓密碼就寫在信上,只是這個...