CF競賽題目講解_CF1728E(初等數(shù)論)
2022-10-25 15:47 作者:Clayton_Zhou | 我要投稿
AC代碼
?https://codeforces.com/contest/1728/submission/177827161
題意:
第i道菜有兩個(gè)值ai和bi,是添加紅胡椒和黑胡椒后分別增加的味道。Monocarp不會(huì)在任何菜中同時(shí)添加辣椒,
不會(huì)多次添加辣椒,也不會(huì)在沒有添加辣椒的情況下留下任何菜。
?第j家商店,一包紅辣椒可以添加xj份,一包黑辣椒可以添加yj份 。
Monocarp只去一家商店, 購買x個(gè)紅辣椒包和y個(gè)黑辣椒包,那么x和y應(yīng)該是非負(fù)數(shù),x*xj+y*yj=n。
對于每個(gè)商店,在Monocarp只在這家商店購買胡椒包并將胡椒添加到菜肴中后,
確定n個(gè)菜肴的最大增加味道。如果無法以上述方式購買 ,請打印-1。
題解:
初等數(shù)論
首先求[1,2...n]中每個(gè)整數(shù)的約數(shù),包括其本身。
將a[i]-b[i]從大到小排序,這樣 sum + pre[i] = a[1...i]+b[i+1...n]
?a[i]較大值在前面, b[i]較大值在后面,在這里都可以取到
循環(huán)查詢 x*xj,如果n-x*xj是yj的倍數(shù),則記錄下當(dāng)前n個(gè)菜肴的最大增加味道
?
標(biāo)簽: