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

【POJ2893&HDOJ6620】M × N Puzzle(n*m数码判定)
摘要:题意:给定一个n*m的矩阵,其中不重复地填【0,n*m-1】,问是否能通过有限步数将0移到右下角 n,m<=1e3 思路:结论题 当板子了 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typed 阅读全文

posted @ 2019-10-09 21:10 myx12345 阅读(165) 评论(0) 推荐(0)

【HDOJ6606】Distribution of books(二分,BIT)
摘要:题意:给定一个长为n的数组,要求挑它前缀的一段,将其分成k段,使得每段和的最大值最小 1<=k<=n<=2e5,abs(a[i])<=1e9 思路: 刚开始写了线段树TLE 改维护后缀的BIT也TLE 暴力sort改归并排序才卡过去 怀疑用map离散化不靠谱 阅读全文

posted @ 2019-09-27 16:03 myx12345 阅读(272) 评论(0) 推荐(0)

【HDOJ5517】Triple(二维BIT)
摘要:题意:给你n个二元组<a,b>, m个三元组<c,d,e>. 如果d = e,那么<a,c,d>会组成一个新的三元组集合G. 问G中有多少个三元组在凸点.(没有其它三元组比它大) 定义大为一个三维偏序的关系,若(x,y,z)与(a,b,c)不完全相同并且x>=y,y>=b,z>=c则描述为(x,y, 阅读全文

posted @ 2018-11-27 21:59 myx12345 阅读(180) 评论(0) 推荐(0)

【HDOJ5975】Aninteresting game(BIT原理)
摘要:题意:给定n个区间,第i个区间的范围是[i-lowbit(i)+1,i]。一共有q组询问,询问有两种: 1 x y:询问sigma lowbit(i) (x<=i<=y) 2.x:询问有几个区间包含x这个下标 思路:先打一个lowbit的表找一下规律 考虑第一种询问,能将它拆成两个询问calc(x- 阅读全文

posted @ 2018-11-20 19:12 myx12345 阅读(127) 评论(0) 推荐(0)

【BZOJ3529】数表(莫比乌斯反演,BIT,自然溢出)
摘要:题意: 思路: 阅读全文

posted @ 2018-10-23 16:48 myx12345 阅读(278) 评论(0) 推荐(0)

【HDOJ6315】Naive Operations(线段树,树状数组)
摘要:题意: 两个序列a和b,初始a[i]=0,b[i]给定且为一个1到n的排列,要求维护以下两种操作:1.区间[L,R]内a[i]加1 2.询问[L,R]内a[i]/b[i](下取整)之和 n,q<=1e5 思路: 实际上a[i]/b[i]的线段树可以改为树状数组,因为只需要支持单点修改和前缀区间求和 阅读全文

posted @ 2018-07-31 16:05 myx12345 阅读(199) 评论(0) 推荐(0)

【HDOJ6318】Swaps and Inversions(树状数组)
摘要:题意: 给定一串数组,其中含有一个逆序对则需要花费x,交换相邻两个数需要花费y,输出最小花费。 n<=1e5,-1e9<=a[i]<=1e9 思路: 阅读全文

posted @ 2018-07-31 10:57 myx12345 阅读(139) 评论(0) 推荐(0)

【BZOJ3790】神奇项链(manacher,树状数组)
摘要:题意: 思路:生成一些回文拼起来使生成的段数最小 显然存在一种最优的方案,使生成的那些回文是目标串的极长回文子串 求出对于每个位置的最长回文子串,问题就转化成了: 给定一些已知起始和终止位置的线段,求覆盖住整个区域的最小线段数量 这个可以BIT做,求当前已经覆盖的区域最远能拓展到哪里 也可以预处理一 阅读全文

posted @ 2017-04-14 21:18 myx12345 阅读(198) 评论(0) 推荐(0)

【BZOJ2434】阿狸的打字机(fail树,DFS序)
摘要:题意: 1<=N<=10^5 1<=M<=10^5 输入总长<=10^5 思路: From http://blog.csdn.net/lych_cys/article/details/50646799 首先你会发现他打字的方式非常奇妙。。实际上不就是在构建一颗Tire吗?P相当于给节点标记;B相当于 阅读全文

posted @ 2017-04-12 16:56 myx12345 阅读(195) 评论(0) 推荐(0)

【BZOJ2527】Meteors(整体二分)
摘要:题意: Byteotian Interstellar Union有N个成员国。现在它发现了一颗新的星球,这颗星球的轨道被分为M份(第M份和第1份相邻),第i份上有第Ai个国家的太空站。 数据范围: 1<=n,m,k<=3*10^5 1<=Pi<=10^9 1<=Ai<10^9 思路:RYZ作业 整体 阅读全文

posted @ 2017-03-20 10:57 myx12345 阅读(191) 评论(0) 推荐(0)

【ZJOI2017 Round1练习&BZOJ4765】D1T3 普通计算姬(主席树,分块)
摘要:题意: 思路:分块 使用树状数组维护sum[i]的前缀和 使用主席树维护root到u的路径上点的编号出现的个数 每次操作如果是修改就加入队列 如果是询问,考虑块内操作对询问的影响,每次在x点加上y会使x到root的点sum都加上y 每根号n次操作就暴力重构一次,清空队列并求出新的sum[i]的前缀和 阅读全文

posted @ 2017-03-02 18:15 myx12345 阅读(216) 评论(0) 推荐(0)

【BZOJ3295】动态逆序对(BIT套动态加点线段树)
摘要:题意:对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。 给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 N<=100000 M<=50000 思路:树套树即可,第i棵树维护前i位中1-j的个数,支持区间求和 外 阅读全文

posted @ 2017-02-23 19:20 myx12345 阅读(206) 评论(0) 推荐(0)

【Hihocoder1034】毁灭者问题(splay,树状数组)
摘要:题意: 假设你拥有 n 个魔法单位,他们从左到有站在一行,编号从 1 到 n。 每个单位拥有三项属性: si: 初始法力。 mi: 最大法力上限。 ri: 每秒中法力回复速度。 si: 初始法力。 mi: 最大法力上限。 ri: 每秒中法力回复速度。 现在你操纵一个毁灭者,有 m 个操作,t l r 阅读全文

posted @ 2017-02-12 17:25 myx12345 阅读(460) 评论(0) 推荐(0)

【Tyvj1601】魔兽争霸(主席树,树套树)
摘要:题意:要求在N个数的序列中支持以下操作: 1:将第X个元素加上Y 2:询问当前K大值 n<=30000,m<=50000 思路:树状数组套主席树 Tyvj又炸了,还不知道对不对 阅读全文

posted @ 2016-12-21 18:10 myx12345 阅读(246) 评论(0) 推荐(0)

【Tyvj2133&BZOJ1146】网络管理Network(树套树,DFS序,树状数组,主席树,树上差分)
摘要:题意:有一棵N个点的树,每个点有一个点权a[i],要求在线实现以下操作: 1:将X号点的点权修改为Y 2:查询X到Y的路径上第K大的点权 n,q<=80000 a[i]<=10^8 思路:此题明显地体现了我对主席树理解不深 树上路径K大可以直接用树剖+二分答案+树做 但DFS序+主席树也可以 对于点 阅读全文

posted @ 2016-12-12 19:55 myx12345 阅读(385) 评论(0) 推荐(0)

【BZOJ1901】Dynamic Rankings(树套树,树状数组,主席树)
摘要:题意:给定一个N个数的序列,要求维护一个数据结构支持以下两种操作: 1:将第X个数改成Y 2:查询第X到第Y个数里第K小的数是多少 n,m<=10000,a[i]<=10^9 思路:单点修改版本的主席树 对于没有修改的主席树,我们直接在对应的节点上每个点继承上个点的状态,再用链表创建logn个点来表 阅读全文

posted @ 2016-12-09 20:34 myx12345 阅读(335) 评论(0) 推荐(0)

【POJ3321】Apple Tree(DFS序,树状数组)
摘要:题意:给一棵n个节点的树,每个节点开始有一个苹果,m次操作 1.将某个结点的苹果数异或 1 2.查询一棵子树内的苹果数 n,m<=100000 思路:最近一段时间在思考树上统计问题的算法 发现询问一棵子树中信息的问题一般都是DFS序+线段树或BIT维护 树上两点之间的查询一般都是树剖维护 比如说这题 阅读全文

posted @ 2016-12-05 19:35 myx12345 阅读(820) 评论(0) 推荐(0)

【BZOJ1103】大都市meg(DFS序,树状数组)
摘要:题意:有一颗树,1号点为根,保证编号小的点深度较小,初始状态每条边都没有被标记,要求实现两个操作在线: A:将连接x,y的边标记 W:查询从1到x的路径上有多少条边未被标记 n<=2*10^5 思路:本题的特殊性质: 1.一次只标记一条边且没有重边 2.直接求1到x的路径,不用LCA 记录i点在DF 阅读全文

posted @ 2016-12-03 21:51 myx12345 阅读(320) 评论(0) 推荐(0)

【CF314C】Sereja and Subsequences(DP,树状数组)
摘要:题意:给定一个N个数的数列,求所有不同不下降子序列的乘积之和,其中不同指的是组成它的数字和长度不完全相同 n (1 ≤ n ≤ 10^5) a[i]<=10^6 思路:考虑DP。设DP[a[i]]为最后一位为a[i]时所有序列的积之和,则dp[a[i]]=a[i]+sigma(dp[a[j]]) * 阅读全文

posted @ 2016-11-23 19:30 myx12345 阅读(315) 评论(0) 推荐(0)

导航