欢迎光临散文网 会员登陆 & 注册

CF竞赛题目讲解_CF1728E(初等数论)

2022-10-25 15:47 作者:Clayton_Zhou  | 我要投稿

AC代码

 https://codeforces.com/contest/1728/submission/177827161

题意:

第i道菜有两个值ai和bi,是添加红胡椒和黑胡椒后分别增加的味道。Monocarp不会在任何菜中同时添加辣椒,

不会多次添加辣椒,也不会在没有添加辣椒的情况下留下任何菜。

 第j家商店,一包红辣椒可以添加xj份,一包黑辣椒可以添加yj份 。

Monocarp只去一家商店, 购买x个红辣椒包和y个黑辣椒包,那么x和y应该是非负数,x*xj+y*yj=n。

对于每个商店,在Monocarp只在这家商店购买胡椒包并将胡椒添加到菜肴中后,

确定n个菜肴的最大增加味道。如果无法以上述方式购买 ,请打印-1。

题解:

初等数论

首先求[1,2...n]中每个整数的约数,包括其本身。


将a[i]-b[i]从大到小排序,这样 sum + pre[i] = a[1...i]+b[i+1...n]

 a[i]较大值在前面, b[i]较大值在后面,在这里都可以取到


循环查询 x*xj,如果n-x*xj是yj的倍数,则记录下当前n个菜肴的最大增加味道

 


CF竞赛题目讲解_CF1728E(初等数论)的评论 (共 条)

分享到微博请遵守国家法律