首页 > 代码库 > Codeforces Round #276 (Div.1) Solution

Codeforces Round #276 (Div.1) Solution

水平越来越菜了

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就好了。

Codeforces Round #276 (Div.1) Solution