- 博客(2)
- 收藏
- 关注
原创 线段树/树状数组 | 洛谷P1908 逆序对题解
本文总结了计算逆序对数量的两种高效方法:归并排序和树状数组/线段树。归并排序在排序过程中通过合并阶段统计逆序对,时间复杂度为O(nlogn)。树状数组和线段树则需先离散化数据,通过动态维护和查询区间统计逆序对。树状数组代码更简洁,但线段树适用性更广。文中提供了相关代码实现,并比较了两种数据结构的差异,强调处理离散化和重复元素的技巧。两种方法都能在合理复杂度内解决大规模逆序对问题。
2025-11-09 16:49:42
480
原创 [洛谷P1168]中位数 题解
这里使用大根堆和小根堆各一个,并且先获取数列的第一个数作为中位数k,大根堆存放小于k的数,小根堆存放大于k的数,这样,每次更新完大小根堆时,整个数列仍然是有序的,并且比传统的在每次输入新数据直接sort的复杂度更小(每次更新最多比较2次,然后大小根堆的取出插入复杂度不高)。若小根堆数量小于大根堆数量 , 于是提出小根堆的堆顶元素,这个元素是比k大的元素中最接近k的。题意:给定一组长为n的整数(同时n为奇数),要求输出所有前奇数位的中位数。思路:可以用树状数组,但较复杂。用途:自用 总结回顾。
2025-11-04 22:14:39
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅