ACM_Binary_Indexed_Tree
文章平均质量分 78
Gatevin
这个作者很懒,什么都没留下…
展开
-
HDU 4455 Substrings 树状数组 + DP
题目大意:就是现在给出一个长度不超过10^6的数组, 数组中的每个数1 大致思路:思路都在代码注释里了..第一次写树状数组...代码如下:Result : Accepted Memory : 29060 KB Time : 1840 ms/* * Author: Gatevin * Created Time: 2015/原创 2015-03-10 11:48:20 · 569 阅读 · 0 评论 -
Codeforces 387E George and Cards 树状数组 + 集合set查询
题目大意:就是现在有n章卡片的排列p1, p2...pn, 每张卡片上写着1~n, 现在George进行n - k次remove的操作, 使得最后只剩下的牌为b1, b2...bk, 每次remove操作可以选择一段连续的区间x1, x2...xw, 然后从中移除最小的那个, 注意移除最小的那个之后剩下的卡片保持连在一起, 完成这样一次操作会得到w份香肠, 为了使最后剩下的牌的排列为b1, b原创 2015-03-10 15:51:46 · 700 阅读 · 0 评论 -
Codeforces Gym 100589A Queries on the Tree 树状数组 + 分块
题目大意:就是现在对于一棵有向树, 以1为根, 初始的时候每个节点上的硬币数量都是0, 树的结点个数为N 大致思路:首先如果对于每次更新操作用树状数组维护暴力执行的话, 对于同一深度的结点数量很多的时候这个复杂度会达到O(N*M*logN)显然是不能接受的, 那么考虑一下分块的思想首先用时间戳的思想将这棵树映射到一个区间上然后对于每次修改, 当要修改的点数小于sqrt(N)原创 2015-08-10 13:28:03 · 1193 阅读 · 0 评论 -
ZOJ 2112 Dynamic Rankings 树状数组套主席树 单点修改求动态区间第K大
题目大意:就是给出一个数列之后进行两种操作:1. 询问从第l个数到第r个数中的第k小的数2. 修改某个位置的数为t大致思路:主席树学习第二题...就是对原序列建立主席树然后用树状数组来维护另外一颗主席树来表示原主席树的变化因为每次修改都会导致需要修改一整段线段树, 那么考虑用树状数组维护, 每个位置都是一颗线段树, 这些线段树的前缀和就是对应位置的变化, 在递归原创 2015-09-09 23:11:09 · 1514 阅读 · 0 评论 -
ACdream 1019 Palindrome 树状数组+Hash
题目大意:就是现在给出一个长度不超过100万的字符串, 有两种操作, 修改某个位置的字符, 询问 [L, R] 这个部分的字串是否是回文串大致思路:这个题刚开始用线段树写了一发发现MLE...然后就换树状数组了...不知道zkw线段树能不能行首先对于这个串按照原来的顺序和倒序分别建立树状数组, 保存每个字符对应在全部的串中对应的哈希值然后树状数组查询区间和, 修改的原创 2015-10-01 21:40:16 · 569 阅读 · 0 评论 -
BZOJ 2434 阿狸的打字机 (AC自动机 + 树状数组)
题目大意:中文题面, 就是在解密串之后询问第x行的串在第y行的串中出现了几次串的最大长度 大致思路:首先不难将给出的串解出来插入到Trie树中, 那么对于每一次询问, 其实就是在对于所有串建立AC自动机之后, 考虑AC自动机的fail树, 第x行的字符串的结尾位置的结点是u的话, 就相当于问在fail树中, 以u为根的子树下有多少个结点是AC自动机上第y行的字符串经过的点原创 2015-10-21 18:33:01 · 701 阅读 · 0 评论 -
Codeforces Gym 100800L Telescope (二维树状数组 或 暴力水过)
题目大意:貌似这个题就是题目意思不太好懂...其实题目本身还是比较简单的题意是给出一张照片(最多1000*1000的十六进制矩阵)然后这是一个星体的照片, 并且告诉的是每个位置(x, y)的值是原来的矩阵中以(x, y)为中心的一个N*N的矩阵的值的平均值向下取整的结果原矩阵中的值要么是0x0000要么是0xFFFF, 在矩阵以外的地方的值都考虑为0问原来的矩阵中0xFFFF连原创 2015-12-07 14:22:56 · 676 阅读 · 0 评论