CF1614D2

求最大值,看二分答案,但是非常困难,看贪心,发现很难贪。考虑dp,找一个没有后效性的来设计状态,发现如果状态是前缀gcd的话就比较好,没有后效性。转移的话就是从大的向小的转移,那么转移方程就是\(dp[i]=max(dp[i],dp[i*j]+cnt[i]-cnt[i*j])\) cnt[i]为i的倍数的个数,那么因为调和级数,这些都是\(O(n \log n)\)的。然后hard version的话要考虑从质数转移过来,因为从质数转移过来的话可以涵盖所有情况

posted @ 2024-07-19 20:30  wuhupai  阅读(8)  评论(0编辑  收藏  举报