今天状态确实不太好呀,题貌似读错了两道,第一题看出来了,然而第二题并没有。
第一题:给你一个数列,让你划分成最少的段,让每一段排序后,是公差大于1的等差数列的子列。一开始,我认为是不一定要连续,卡了20多分钟,最后发现大大的一行话没看见233。
然后开始写,O(n)扫一遍就好了,记录一下差的GCD,如果为1就切开,还有注意相等的细节。
但最为鬼畜的是,我**最后少写了一个set的insert,导致有相等的数的话就WA,只有五十分。
第二题:考后发现还是挺简单的,就是建一棵树,然后暴力跑就好了,单独判一下k==1的情况。
就是每次加一个节点,只能是已有节点的父亲,然后每一个点又一个权值,问一条路径上的值是否都相等。
看看看,就是那个大写加粗的每个原件至多参与一次融合,我第一次没看见,认为不可做就跳过了,写了暴力就跑了。
第三题:可谓是最顺的一道题了吧。
就是dp方程:f[i]=min(f[j]+max(sum[j]-sum[i],b[j]))。
直接转移有50分,看性质,输出sum[n]貌似有25分,暴力分还是很足的,这道题没什么遗憾。正解是用两个堆维护f[j]-sum[j]与f[j]+B[j],这种题我是第一次见吧,不可惜。
其实,这套题比较简单,认真的话270+是没问题的,哎,也不多说了。
技不如人,甘拜下风。
好好努力呀。