fzoj专题

FZOJ 2166 inversion

算是一道模拟题吧,,,此题就逆序数不用归并排序之类的,而是用双层for循环模拟求解,,因为题意中要求任意两个数交换位置,所以只需在双层for循环中模拟两个数交换即可,在模拟的过程中,不需要准确的求出模拟之后的逆序数,只需要考虑逆序数的变化量为多少,最后,求出变化量最小的,用最初的逆序数求得最后结果。。。 其中模拟两个数交换之后逆序数的变化量解法: 如下: 有   a,b,c,d,e,f,g

FZOJ 2176 easy problem ( 树链剖分 )

题目链接~~> 做题感悟:感觉做多了树链剖分的题目,有许多是树链剖分 + 想法。。 解题思路:                 这题很明显的一点就是 k 很小,那就是告诉你可以从 k 入手,怎样入手呢 ? 观察可以发现无非最多是 k 类点 ,0 ~ k-1 ,分别表示与根的距离模 k .这样就可以把点分类加权值,但是每个线段树里存的还是所有元素,查询的时候对应查找。 代码: #in