20190820组

20190818B组

T1:100(100)

赛时:

这题一看就是一道dp题。

可是一开始我还是按照常规套路尝试做了下最短路。

明知道是错的还试,真是浪费比赛时间作死。

作到以至于我第二题只能打表。

改回用暴力,一开始以为可以很快过,可是突然不知哪个细节打错了,调了很久才AC。

先将二维变一维。

因为A美观度是严格递增的,所以可以从小到大排序。

f[i]为第i最长的总时间

f[i]=max(f[i],f[j]+b[i]+abs(x[i]-x[j])+abs(y[i]-y[j])

答案可定是max(f[i])

算法:

dp

T2:0(0)

赛时:

看到题目不太明白于是就放弃做第三题。

......

最后有会来,因时间原因只能打了个表。

算法:

dp+ 矩阵乘法矩阵乘法

T3:30(30)

赛时:

一开始只想打暴力,用了个c++自带函数

__builtin_popcount(s);

O(1)时间复杂度算出这个数二进制下1的个数。

可是以防万一又打了个对拍。

发现int以上的数错了,只好老老实实交个暴力。

赛后:

查了题解莫名要用类欧几里得。

20190820组_第1张图片

算法:

类欧几里得&数位dp

20190820组_第2张图片

你可能感兴趣的:(总结)