20181020 考试记录

题目pdf

T1:

考场上被读题搞蒙,最后才写,但是尽然AC了(只有一个任务点)

最后发现就是将去时的秒数加上回来的秒数除以二即可

易证

主要考的是读入优化

怎么处理掉每行后面的(+1 +2)

read瞎搞搞即可

T2:

考场上脑袋抽筋想着用后缀和维护

但是并没有打完

最后弃疗

发现自己想少了

不仅要维护一维前缀和,还要维护二维前缀和

然后就建一棵线段树去维护一维与二位

然后询问的是一次函数(n,n-1,n-2,,,,,1)

所以询问是不仅加上一些二维前缀和也要加上一些一维前缀和

eg:

当一个节点存的是3~6时

一维前缀和为a3+a4+a5+a6

而二维前缀和为:

4a3+3a4+2a5+1a6

而要询问3~7时

二维前缀和是不是还要再加上一个一维前缀和,然后再加上a7

因为询问当时5a3+4a4+3a5+2a6+a7

其他的也是这样

时间复杂度:O(MlogN)

一个比较优秀的算法(根号级)

分块大法

考场上我也想过

但是因为没有想到要把那几个都存上

导致也没有写

但是尽然有人写了

也是线段树的思想

去维护

瞎搞搞整块与散块

就行了

时间复杂度:O(M*sqrt(N))

T3:

认为是这套卷子中最水的一道题

相邻两个合并,想到什么

区间dp

然后发现左手啥用都没有,只有右手绝对值之差即可

然后设$dp(i,j)$为从i~j合并时的最小值

所以$dp(i,j)=min(dp(i,j),dp(i,k)+dp(k+1,j)+abs(r_j-r_k))   (ileq k<j)$

复杂度:O(N^3)

score:100+50+100=250

原文地址:https://www.cnblogs.com/si-rui-yang/p/9825201.html