随笔分类 -  数据结构-树状数组

摘要:[BZOJ4545]DQS的Trie(广义SAM+离线+树状数组) 题面 一颗 Trie 树,q 次操作,操作有3种: 1.求这棵树上本质不同的子串数量 2.插入一个子树,保证总大小不超过 100000 3.询问一个字符串在 Trie 树上出现过多少次,保证所有询问串总长度不超过 100000 分析 阅读全文
posted @ 2020-04-03 19:43 birchtree 阅读(211) 评论(0) 推荐(0) 编辑
摘要:[NOI Online 提高组]冒泡排序(树状数组) 题面 略 分析 记fi=j=0i[ajai]表示[1,i1]中比ai大的数的个数。那么逆序对数就是i=1nfi.可以用树状数组预处理得出。 手玩一下冒泡排序过程发现,每冒泡一轮,所有 阅读全文
posted @ 2020-03-24 22:24 birchtree 阅读(248) 评论(0) 推荐(0) 编辑
摘要:[Codeforces 1208D]Restore Permutation (树状数组) 题面 有一个长度为n的排列a。对于每个元素i,si表示$\sum_{j=1,a_j include include include include define maxn 200000 using nam 阅读全文
posted @ 2019-08-27 16:01 birchtree 阅读(323) 评论(0) 推荐(0) 编辑
摘要:[APIO2019] [LOJ 3146] 路灯 (cdq分治或树状数组套线段树) 题面 略 分析 首先把一组询问(x,y)看成二维平面上的一个点,我们想办法用数据结构维护这个二维平面(注意根据题意这里的y要 1,这样问题变成[x,y]区间是否是由连续的一段1组成) 如果我们改变第x个灯的状态,那么 阅读全文
posted @ 2019-08-22 17:26 birchtree 阅读(285) 评论(0) 推荐(0) 编辑
摘要:[BZOJ 3295] [luogu 3157] [CQOI2011] 动态逆序对 (树状数组套权值线段树) 题面 给出一个长度为n的排列,每次操作删除一个数,求每次操作前排列逆序对的个数 分析 每次都对整个序列求逆序对显然不行,考虑每次删除对逆序对个数的影响 假如删除的数为x,x在序列中的位置为p 阅读全文
posted @ 2019-08-02 12:30 birchtree 阅读(169) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示