摘要:题目大意你有一行盒子,从左到右依次编号为1, 2, 3,…, n。你可以执行四种指令:1 X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令)。2 X Y表示把盒子X移动到盒子Y右边(如果X已经在Y的右边则忽略此指令)。3 X Y表示交换盒子X和Y的位置。4 表示反转整条链。盒子个...
阅读全文
摘要:最近做了近20道树状数组题目,发现有点痴迷于它了,这个数据结构真是太优美了,小巧又强悍,编程复杂度极其低,大爱呀!先丢上模板lowbit操作:int lowbit(int x){ return x&-x;}add操作:void add(int x,int d){ while(x0) { ret+=c[x]; x-=lowbit(x); } return ret;}运用树状数组我们可以解决一下几类问题:一、单点修改,区间查询这是树状数组最基本的操作一维:POJ3928 - Ping pongPOJ - Ultra-QuickSort(求逆...
阅读全文