树状数组
撒旦即可
研究CV的菜狗
展开
-
poj2299(树状数组)
本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序。思路:典型的求各个数的逆序数题,但是若是直接暴力计算,那么时间复杂度为o(n^2),肯定超时,所以用树状数组来维护,将时间复杂度压缩为o(nlogn)。简单题,可能太久没练树状数组了,打代码的时候树状数组的sum函数忘return 了,导致调了好久#include<cstdio>#in...原创 2018-09-12 00:14:26 · 574 阅读 · 1 评论 -
POJ3468(线段树模板)
解题思路:线段树裸题。但有个地方苦恼了一下。最后这个ans必须得长整型才行。#include<cstdio>#include<cstring>#include<iostream>using namespace std;typedef long long ll;struct node{ int l,r; ll w,sum;}s[400009...原创 2019-02-15 11:27:52 · 131 阅读 · 0 评论 -
HDU1541(树状数组模板)
解题思路:树状数组裸题,但是要注意的是树状数组是从1数组开始计数的,而不是从0开始计数的。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int s[15009],bit[15009];int n,MA...原创 2019-03-16 13:39:36 · 274 阅读 · 0 评论 -
2019湘潭邀请赛 Chika and Friendly Pairs(莫队+树状数组)
解题思路:莫队的复杂度O(mlogn),然后更新,查询树状数组的复杂度O(logn),最终复杂度O(mlog^2n)#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define N 27005using namespace std;struct ...原创 2019-05-22 22:35:51 · 252 阅读 · 0 评论