BZOJ水题计划

题号 题目描述 解题思路
3306 给出一棵带点权的有根树,支持单点修改,换根,询问x子树中的权值最小值. 直接在DFS序上用线段树维护就好了.
3900 给出n个数对,求最小的交换次数,满足交换后每个数对相差不超过c 压位,用\(f[i]\)表示\(i\)状态的数对满足条件的最小操作次数,初始时\(f[i]\)如果有解,那么答案至少为操作数对-1,然后\(f[i]=min(f[j]+f[i\text{^}j])\)修正一下就好了.
3901 给定一个\(n*n\)的棋盘(\(n\)为奇数),每个格子上有数,设\(X=(n+1)/2\),每次可以将一个\(X*X\)的子棋盘的所有数乘-1,求所有数之和的最大值. 考虑不管子棋盘怎么选,X行X列一定有数会被选上,考虑\(a[1][i],a[1][X],a[1][i+X]\)的关系,发现他们是否被操作的异或值一定为0,因为任意的操作只会包含他们三个点中的其中两个或零个,然后其他行以及列也有这种关系,枚举X行前X个格子的操作情况,得出X行的情况,然后每一行第X列的情况枚举前\(i\)个格子的情况,显然这个贡献单独考虑,所以刷个最大值就行.复杂度\(O(2^XX^2)\)

猜你喜欢

转载自www.cnblogs.com/CHNJZ/p/10435201.html