给你一个集合S,它包含前n个正整数:1,2,…,n。
您可以对S执行以下操作任意次数(可能为零):
选择一个正整数k,其中1≤k≤n,使得S中存在k的倍数。然后,从S中删除k的最小倍数。此操作需要k的成本。
我们给你一个集合T,它是S的子集。求出最小可能的操作总成本,使S转化为T。我们可以证明这样的转化总是可能的。
6
6
111111
7
1101001
4
0000
4
0010
8
10010101
15
110011100101100
0
11
4
4
17
60
在第一个测试用例中,我们将不执行任何操作,因为S已经等于T,即集合{1,2,3,4,5,6}。
在第二个测试用例中,最初,S={1,2,3,4,5,6,7},T={1,2,4,7}。我们将执行以下操作:
选择k=3,然后从S中删除3。
选择k=3,然后从S中删除6。
选择k=5,然后从S中删除5。
总成本为3+3+5=11。可以看出,这是可能的最小成本。
在第三个测试用例中,最初,S={1,2,3,4},T={}(空集)。我们将执行k=1的4个操作,以删除1、2、3和4。
在第四个测试用例中,最初,S={1,2,3,4},T={3}。我们将在k=1时执行两个操作,删除1和2,然后在k=2时执行一个操作,以删除4。
Anything about this OnlineJudge, Please Contact Administrator. Click add QQ
OJ system based on HUSTOJ Project , UI based on Twitter Bootstrap
Copyright 2016 ACM算法攻关部cnt: 38637
关于网站改版