$$AVICII$$

csp-s模拟测试53

最近问题挺大的,别人都能A掉的题,我要么细节被卡,要么想不到正解,稍难受

T1:

 一眼看上去像前缀和,然后日常想亦或怎么拆(当然是拆不了了,不满足结合律什么的),然后想到了差分,不过是O(n*q)的每行差分

正解是差分来维护差分,

 在(r,c)处+1,(r+l,c+l)-1

那么在最后时,jz[i][j]+=jz[i-1][j-1]就是每一行差分数组的值,再每行从右往左前缀和即可

但这还不够,只有这个操作会给一个梯形全部+1

所以再独立开一个正方形差分数组来消除这种影响

注意MAXN开2010,消除三角形越界的影响

T2:

30能想到状压了,考试格外纠结最优策略指的是啥(因为样例模不过去)

其实策略是每一步从右/左选,而且有后效性,考虑可以记忆化搜索,因为有后效性,所以无论抽到的位置或相反位置有没有白球都要搜一遍取最大值

不太会题解证的状态上限为sigma(fib(n)),复杂度肯定是远小于O(2^n*n)

UPD:证明

st小时存数组,st大时hashmap

T3:

考场上把所有性质都推到了,结果打的贪心???正解神仙dp

80pts 骗分+randomsuffle保证贪心的局部正确性

转载大佬题解

<二元组dp第一次见>

 

posted @ 2019-09-28 15:47  bootpuss  阅读(101)  评论(0编辑  收藏  举报