标签:优先 暴力 min 队列 模拟 lca 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
标签:优先,暴力,min,队列,模拟,lca,68,删去,考试 来源: https://www.cnblogs.com/casun547/p/11655802.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。