思路讲解
https://ac.nowcoder.com/discuss/1452662
主要就是他的思路,赛时实际上就AC了,只不过赛后数据加强了,前面AI乱写的过不去了。
这个思路就是贪心,先把最小的吃掉,再吃次小的,再吃次次小的。。。。以此类推
AC代码
AC
https://ac.nowcoder.com/acm/contest/95323/M
1 |
|
https://ac.nowcoder.com/discuss/1452662
主要就是他的思路,赛时实际上就AC了,只不过赛后数据加强了,前面AI乱写的过不去了。
这个思路就是贪心,先把最小的吃掉,再吃次小的,再吃次次小的。。。。以此类推
AC
https://ac.nowcoder.com/acm/contest/95323/M
1 | #include <bits/stdc++.h> |
参考题解:
https://ac.nowcoder.com/discuss/1452661
https://ac.nowcoder.com/discuss/1452662(这个题解好)
中位数定理,其实类似于树的重心(以该点为根,最大子树最小),都是不能牺牲大我
只有一个点左边也有n个点,右边也有n个点,到达该点距离之和最短
其实数轴就是一种特殊的树嘛~~
AC https://ac.nowcoder.com/acm/contest/view-submission?submissionId=74961575
1 | #include <bits/stdc++.h> |
前面一直有点问题,结果是因为这个特判mid1-=1和mid2+=1都要算
1 | if(mid1==mid2) { |
FHQ-Treap
https://www.luogu.com.cn/article/vj041eul
AC
https://www.luogu.com.cn/record/200519720
1 | #include <bits/stdc++.h> |
各种奇怪的地方吧,导致WA了。
参考题解
https://www.luogu.com.cn/article/1o6edp6y
zkw线段树写法
1 | // 参考了(抄了)beta99999 的提交 https://www.luogu.com.cn/record/216441078 |
AC
https://www.luogu.com.cn/record/199579498
1 | #include <bits/stdc++.h> |
来学习一下ST表(sparse table 稀疏表)
算了,我发现树状数组也不是不行,哈哈,我还是用我熟悉的树状数组
https://www.cnblogs.com/qdscwyy/p/9759220.html
我们来解释一些代码吧
1 | // 1个大区间想要遍历下面的小区间需要这么写 |
为什么需要这么写?
8二进制100维护区间8−lowbit(8)~8
lowbit(8)=23=2二进制中第一个1在第几位
AC
https://www.luogu.com.cn/record/199551454
1 | #include <iostream> |