GDOI/联合省选2021题解

D1T1

枚举左边界,对于a<b的初始不翻,a>b的按a贪心翻,在扫的过程中会把一些a<b和一些翻了的a>b(按b排)强制翻转,如果m不足就把翻了的a>b按a排序翻回去

一定不存在m+1后再主动翻的情况,因为翻了(a,b)后前面的a翻了没用,后面的全翻完了否则不会到当前a,所以不用考虑

D1T2

硬点1行1列为0,则剩下方案唯一,接着用行/列间隔加减即可构出所有合法解,因为可以把任意一组合法解通过操作把1行1列变为0,即得到了初始状态,反之亦然

接着差分约束判断

D1T3

直接算,点y能被x算到的充要条件是xy强连通且存在环使得最小点>y,如果上面有点u<y由于xu强连通所以u会先被删,因此必须要有>y的环,存在的话显然不会在y之前删掉,在正反图上跑

考场直接用桶来搞dij,时间O(nm),由于用了vector所以很慢

实际上每次新加一条边然后bfs,这样一次是O(n+m)总O(n(n+m)),由于跑不满所以可以过

D2T1

向c-1/c+1的祖先连边,每次倍增判断,由于不好确定长度所以写了整体二分+暴力来确定每个询问,log^2

实际上直接点分然后维护f[i]表示i往上跳的min即可一个log

D2T2

差分,从小到大确定,则当前max确定后前面的+b操作与现在二者无关,只与初始的a有关

所以设f[s,i,j]表示状态s,max为i和为j的方案,每次贪心卡到刚好成为max即可最优且不重

时间O(2^n*m*n^2)

D2T3

先n^2建出支配树,则原图上的边一定是往下/返祖/终点在lca下一

所以新加x->y后变化路径一定是1->x->y->u且不经过u的父亲,大力讨论后(lca外、lca其他子树)发现充要条件是dp[lca]+2<=dp[u],dp是支配树上深度

然后可以类似D1T1 nm分层bfs预处理,qlog询问,总O(nm+qlog)

posted @ 2021-04-21 19:42  gmh77  阅读(172)  评论(0编辑  收藏  举报