![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
萌之上荡漾
这个作者很懒,什么都没留下…
展开
-
hdu 5877/ 2016 ACM/ICPC Dalian Online 1010 Weak Pair
题目链接分析:树上的节点祖先与儿子的关系,一般就会想到dfs序。正解就是对树先进行dfs序排列,再将问题转化到树状数组统计个数。应该把节点按照权值从大到小排序,这样对于a[i]a[i],K/a[i]K / a[i]就是从小到大的顺序。这样更新树状数组就不会造成计算的混乱了。 多组数据没有每次先清除边我真是太智障了。代码:/**************************************原创 2016-09-10 21:03:48 · 223 阅读 · 0 评论 -
hihocoder 1488 排队接水
题目链接分析: 首先,很好思考,只要将区间内最短优先排列就能得到答案。 但是直接暴力肯定会TLE,我们换一个思考方式。 假设我们已经得出了[L, R]区间的答案,那么[L + 1, R], [L - 1, R], [L, R + 1], [L, R - 1]都很容易计算得出。考虑新加入的数K应该在新的序列中排第几个,那么对原序列∀x>K\forall x > K,所有的数都会往后移动一个单位,原创 2017-04-03 15:00:56 · 613 阅读 · 0 评论