水平越来越菜了
A 水题,注意后面全是1的情况
B 调和级数呀。把倍数全部扫一遍。一个数是多个数的倍数的话肯定是大的比较优。然后可以用two pointer扫一下。
C 就是一个置换群,把轮换找出来就好了。傻逼的写了好久。
D 有意思的傻逼DP,容易得到dp[i] = max{dp[j] + max{abs(a[k]-a[h])}} 。只要更新一个U = max{a[i] + max_{0~(i-1)}{dp[i]}}和D = max{-a[i] + max_{0~(i-1)}{dp[i]}}。之后dp[i]=max(dp[i-1], U-a[i], D+a[i]) 然后更新U,D就好了。
时间: 2024-12-20 18:09:00