树状数组
Strokess
懂的越少,想的越多。
展开
-
hdu 1166 敌兵布阵 (线段树、树状数组模板,单点更新)
hdu 1166 单点更新模板题 #include #include #include #include using namespace std; const int MAXN = 55555; struct node{ int l, r; int val; }; int a[MAXN]; node T[MAXN * 4 + 10]; void build(int rt, i原创 2016-03-05 19:02:50 · 457 阅读 · 0 评论 -
蓝桥杯 历届试题 小朋友排队(归并,树状数组求逆序对数)
历届试题 小朋友排队 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他原创 2016-04-20 21:59:39 · 1203 阅读 · 1 评论 -
HDU 5862 Counting Intersections (扫描线+树状数组)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5862 题意: 2 4 1 0 1 3 2 0 2 3 0 1 3 1 0 2 3 2 4 0 0 2 0 3 0 3 2 3 3 1 3 0 3 0 2 看样例,题意很简单。t个case,每个case第一行n条线段,下面n行每行给出一个线段的端原创 2016-08-19 20:47:39 · 778 阅读 · 0 评论 -
HDU 1394 Minimum Inversion Number (求逆序对数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 题意:一个由0..n-1组成的序列,每次可以把队首的元素移到队尾,求形成的n个序列中最小逆序对数目。 求逆序对数。 方法就是按序列顺序逐个读取元素,每次读取都要查询当前已读取元素中大于当前元素的个数,加到sum里,最后得到的sum即为原始数列的逆序数。 这样就是每读一个就原创 2016-09-29 17:56:25 · 448 阅读 · 0 评论 -
HDU 4417 Super Mario (树状数组、离线处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4417 题意:给n个数,数中有重复的。还有m个询问,问的是[L,R] 区间内有多少个数小于h,有多次询问。 想到是树状数组但是没想出来怎么做。。。也不是第一次做离线处理的题了,可就是没往这里想。。。。不过队友用主席树也过了,应该不太简洁。 贴一份比较清晰的解释: ① 先把原创 2016-10-26 18:23:10 · 584 阅读 · 0 评论