算法-BIT
FawkesLi
这个作者很懒,什么都没留下…
展开
-
poj 2828
网上好多人都用的是线段树,其实树状数组也是可以的。不过也侧面说明了线段树的可扩展性是强于树状数组的。题意:插队的问题,每个案例给出n,代表有n个插队的,每个给出p,v,意思是代号为v的人插在了第p个人的后面,问最后的队伍的排列?题目中一开始整个队列是空的,也就是说如果输入i,j:代表代号为j的人插在了第i个人的后面,也就是说在他之前一定有了i个人,而他的位置是i+1。Sample Input40 771 511 332 6940 205231 192431 38900 31492原创 2020-06-07 12:27:54 · 142 阅读 · 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)输入15 41 2 3 4 5-5 -1 -3 -1输出13输入26 21 1 1 2 3 45 6输出26思路:因原创 2020-05-18 12:28:13 · 263 阅读 · 0 评论 -
poj 1201
树状数组或者线段树这些数据结构只是工具,题目的思路是贪心。题意:从一系列区间[a_i,b_i]中至少取出c_i个数构成集合s,求s的最小size?对于每个区间,有前面已经选了的,还有自己要选的,对于自己要选的。尽量让自己选的靠后,就可以让后面的区间多选。所以按照末尾点排序,对于区间求和,用bit#include <iostream>#include <cstdio>...原创 2019-12-09 12:43:37 · 89 阅读 · 0 评论