1 solutions
Information
- ID
- 1621
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- (None)
- # Submissions
- 1
- Accepted
- 0
- Uploaded By
暴力搜索划分方案即可。
写一个简单 dp 就行,设 dpi,j 表示划分到了 i,当前 gcd=j 是否可行,转移是简单的,时间复杂度 O(n3V),其中 V 是值域。
手玩可以发现答案一定是 2n。
注意到一个关键性质:gcd(a+b,c)≥gcd(a,b,c)。
证明是容易的,设 d=gcd(a,b,c),那么 d∣(a+b),于是 gcd(a+b,c)≥d 肯定成立。
这个性质说明最优划分一定只会划分为两段,否则将相邻的两段合并起来一定更优。
于是滚一个前缀和,暴力枚举分割点即可,时间复杂度 O(nlogV)。
By signing up a Hydro universal account, you can submit code and join discussions in all online judging services provided by us.