题意
从$n$个数中选出来最多$3$个数,使得这三个数中不存在任意一个数是另一个数的倍数,同时使得这三个数的和最大。
分析
设最大数为$maxx$
- 取一个数,取$maxx$
- 取两个数,假设不取$maxx$,则两个数皆为$maxx$的因数,否则可用$maxx$替换某个因数,而最大为$\frac{maxx}{2}+\frac{maxx}{3}<maxx$,因此必须选$maxx$,另一个挑最大即可
- 取三个数,如果三个数皆为$maxx$的因数,则只有$\frac{maxx}{2}+\frac{maxx}{3}+\frac{maxx}{5}>maxx$满足,特判后取到$maxx$,并将$maxx$的所有因数标为不可取,然后就是取两个数的情况了
1 |
|