标签:
题意:n个数每次选三个数删除,取其中两个数将gcd放回去两次,问最后剩的数可能是多少
分析:考虑最优情况:
先拿出三个数,留下两个x,x
再来一个y,(x,x,y)我们可以删去一个x,留下两个gcd(x,y),这两个gcd(x,y)等价于刚才的两个x,x
也就是每次操作我们都可以有一个额外的数让我们删去,并不断扩充gcd
于是答案就是所有子集的gcd
但第一次我们必定删去一个数,它没法加入gcd操作中,所有n个子集的gcd不能作为最终结果
即答案就是2<=size<n的子集的gcd
可以先跑出两两gcd,然后再枚举子集的大小,不断更新gcd
标签:
原文地址:http://www.cnblogs.com/wmrv587/p/5906280.html