考试总结 模拟68

T1暴力打满,距离正解差一个优先队列,T2想到暴力后犹豫了一会复杂度,T3收获了一个树状数组求逆序对调了半年。。

T1「优先队列」

首先贪心:把所有矩形放到一个角不会变差,所以问题转化为了删去一些二元组,使得min_x*min_y最大

那显然是枚举从小到大删去k个x(即把min_x的二元组删去),删去m-k个y,但是删去x的同时,y也有可能顺带删去

那么如何优化O(n)暴力统计答案。

sort预处理x,优先队列维护y,枚举k(m->0),先把m+1->n的y放入优先队列中,那么每次取队顶的min_y,然后用X_{k+1}*min_y更新答案,每次pop队顶表示下一次也一定会选到

T2「(树上)主席树」

再次学习主席树,憋了一下午总算憋出了一个per和nxt

题意转化为当前询问的所有点到lca的路径上的所有点的min{(r-a_i)}

那么dfs对每个点建立主席树,然后查询每个点到lca的pre和nxt值并与r做差取min

扫描二维码关注公众号,回复: 7517671 查看本文章

猜你喜欢

转载自www.cnblogs.com/casun547/p/11655802.html