1 条题解
-
0
题解
思路
交换红、蓝两袋不会改变得分,所以可以假设第一包中 进入红袋、 进入蓝袋。
做法
于是最终红袋 gcd 的任意因数必为 的因数,蓝袋同理。枚举 的因数 与 的因数 ;对于每个卡包,只要 或 ,就能为该包选择一种合法方向,因而这一因数对可行。
对所有可行因数对取 的最大值。任意真实最优分配的两个 gcd 都会作为某个枚举对出现,所以答案不会被低估;反之,一个可行因数对可以扩展为某个分配,该分配的两个 gcd 分别是 的倍数,其得分不会小于当前候选,因此取最大值恰好得到最优答案。
复杂度
用平方根枚举两个数的因数,复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1514
- 时间
- 4000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者