算法-BIT
FawkesLi
这个作者很懒,什么都没留下…
展开
-
poj 2828
网上好多人都用的是线段树,其实树状数组也是可以的。不过也侧面说明了线段树的可扩展性是强于树状数组的。 题意: 插队的问题,每个案例给出n,代表有n个插队的,每个给出p,v,意思是代号为v的人插在了第p个人的后面,问最后的队伍的排列? 题目中一开始整个队列是空的,也就是说如果输入i,j:代表代号为j的人插在了第i个人的后面,也就是说在他之前一定有了i个人,而他的位置是i+1。 Sample Input 4 0 77 1 51 1 33 2 69 4 0 20523 1 19243 1 3890 0 31492原创 2020-06-07 12:27:54 · 121 阅读 · 0 评论 -
cf edu round 87 d (树状数组新模板)
我恨张宇昊,题读错了害得我们搞半天做不出来 题意: 告诉你n,q,再给你n个数,把这些数放入一个multiset(可重复的有序集合),给你q个数(ki),如果ki>0,那么把ki放入集合,如果ki<0,那么把集合里第-ki个数删去,问你最后集合有那些数,随便输出一个就可以了,没有就输出0 (1≤n,q≤106, 1≤a1≤a2≤⋯≤an≤n, ki≤n) 输入1 5 4 1 2 3 4 5 -5 -1 -3 -1 输出1 3 输入2 6 2 1 1 1 2 3 4 5 6 输出2 6 思路: 因原创 2020-05-18 12:28:13 · 201 阅读 · 0 评论 -
poj 1201
树状数组或者线段树这些数据结构只是工具,题目的思路是贪心。 题意:从一系列区间[a_i,b_i]中至少取出c_i个数构成集合s,求s的最小size? 对于每个区间,有前面已经选了的,还有自己要选的,对于自己要选的。尽量让自己选的靠后,就可以让后面的区间多选。所以按照末尾点排序,对于区间求和,用bit #include <iostream> #include <cstdio>...原创 2019-12-09 12:43:37 · 75 阅读 · 0 评论