线段树、树状数组
文章平均质量分 67
ZLTJohn
这个作者很懒,什么都没留下…
展开
-
【GDOI2016模拟3.20】diyiti
题意给定一列数a[N] 有两种操作,共M个: 0 x val 把a[x]的值改成val; 1 l r k 在l~r区间里选定不超过K个不相交的子段,即选定不超过k个独立区间,使他们加起来的权值最大。当然可以不选。 1<=n,m<=100000,k<=20分析一看到这种题就是什么数据结构乱搞一通啦,可是看到操作1就有点懵逼了,到底怎样才能作出最佳的决策呢?暴力法来个大DP,然而过不了,不能用线原创 2016-03-29 20:19:21 · 649 阅读 · 0 评论 -
[JZOJ5608]Subset
题目大意对于 10% 的数据满足 n ≤ 20 对于 30% 的数据满足 n ≤ 2000 另有 20% 的数据满足 a i = b i 对于 100% 的数据满足 n ≤ 100000解题思路对于一个合法的三元组,我们发现S里有用的元素至多为3个,分别拥有a,b,c的最大值,甚至只有一个或两个元素。 发现如果只留下有用的元素,S和合法三元组一一对应,那么我们只需要统计最简S...原创 2018-03-28 21:14:42 · 333 阅读 · 0 评论 -
[JZOJ5595]欧拉函数
题目描述对于正整数n,定义欧拉函数φ(n) 为小于等于n 且与n 互质的正整数个数。例如 φ(1) = 1,φ(8) = 4。 给定正整数序列a1; a2;…; an,请依次执行q 个操作,操作有以下三种类型: • 0 i x:修改a[i] 的值为x; • 1 l r:查询φ(a[l] + a[l+1] + … + a[r]) 的值,输出这个值对10^9 + 7 取模的结果; • 2...原创 2018-03-26 19:54:13 · 344 阅读 · 0 评论 -
[JZOJ5638][九省联考D1T2] IIIDX
题目大意给你长度为n的一个序列a,以及一个参数K,需要把a重新排列,使得a[i]>=a[⌊ik⌋]a[i]>=a[⌊ik⌋]a[i]>=a[\lfloor\frac{i}{k}\rfloor]。求字典序最大的重排序列。 解题思路贪心。 我们从前往后放,每次放合法的尽量大的。 把大小关系抽象成树形关系。其中i的父亲是i/k。 首先考虑d[i]互不相同。 一开始什么都...原创 2018-04-08 20:42:25 · 307 阅读 · 0 评论 -
[CF700E][JZOJ5558][线段树合并]Cool Slogan
题目大意给你一个长度为n的字符串S,求最长的一个字符串序列a[1..k]满足序列中的每一个字符串都是S的子串,且对于任意的1<i<=k1<i<=k1原创 2018-03-04 22:31:45 · 598 阅读 · 0 评论 -
[agc011f]Train Service Planning
题目大意有n+1个车站,n条轨道,第i条轨道联通i-1和i车站,通过它要花a[i]时间,这条轨道有b[i]=1或2条车道,也就是说,他是单向还是双向的。现在有两种火车,一种从0到n,一种从n到0,有无限辆,同种的发车间隔是K。 现在请你分别确定两种火车在每个站停留的时间,确保单车道不会有两辆车相向而行,且同一条轨道(不是车道),不能同时存在两部同向的火车。 要求最小化两种火车从起点到终点的...原创 2018-02-24 16:15:53 · 575 阅读 · 0 评论 -
[CF938G] Shortest Path Queries
题目描述给你一幅n个点,m条边的无向图,每条边有权值d,现在有q次操作,有三种操作。 1,给出x,y,d,加入连接x,y的权值为d的边 2,给出x,y,删除这条边 3,给出x,y,问从x到y的路径的最小异或和。 保证操作合法且一直为简单连通图 n,m,q<=1e5 部分分:q=1,且为操作3解题思路考虑部分分。 随便搞一个dfs树出来,你一条返祖边代表一个环。x到y...原创 2018-03-10 21:28:18 · 591 阅读 · 0 评论 -
[JZOJ4610]线段树
题目大意 解题思路先考虑询问怎么做。 一个很关键的想法是,我们可以把操作了[l,r]的akaka_k表示成一段区间的最大值,如果知道了这个区间,问题就很简单了。假设为max{a[le..ri]} 假设有一个假如我们有一个(l,r,k),我们怎么知道le和ri呢? 注意描述中带下标的l,r和不带下标的不是同一个东西。 我们从r开始,找到尽量晚的,能够覆盖k的区间,假设为[l...原创 2018-03-01 15:49:08 · 278 阅读 · 0 评论 -
[JZOJ5390]维护直线
题目大意分析这道题可以是维护凸壳,直线加入的斜率还是单调的,可以直接用单调栈维护,然后二分查找。 但是我比较蠢,打了线段树维护,一开始还没打出来…. 来复习一下怎么线段树维护凸壳值吧。 问题:我们插入若干条直线,询问某个x的最大函数值。 方法:对于线段树一个点x,假设他代表区间为[l,r]下标代表自变量的值,中点为mid,他的两个儿子代表的区间是[l,mid-1]和[mid+1,r]。我们在原创 2017-09-28 20:53:31 · 354 阅读 · 0 评论 -
[JZOJ5296] Sequence
题目描述 分析这道题这么多关键字,似乎很难搞,先想一想。 30分暴力很容易嘛,就是莫队之后上KD树二位查询。 100分呢? 考虑到最后一维的经典做法是主席树上二分,我们考虑整体二分来做。 首先为了方便,我们先把询问的x,y处理一下,把排名在[x,y]之间变成第一关键字在[x’,y’]之间。 考虑整体二分。先考虑一开始对询问区间[1,m]怎么做。我们有二分的答案mid=(1+n)/2,考虑原创 2017-08-24 22:22:57 · 409 阅读 · 0 评论 -
[JZOJ5073]【GDOI2017第三轮模拟day1】影魔
题目描述有一个长度为n的排列a[],定义一个点对(i,j) (i < j)的贡献:若max(a[i+1 j−1])<min(a[i],a[j])max(a[i+1~j-1])<min(a[i],a[j]),贡献p1若sort(a[i],a[j],max(a[i+1 j−1]))sort(a[i],a[j],max(a[i+1~j-1]))后,max(a[i+1 j−1])max(a[i+1~j-原创 2017-04-19 22:36:15 · 696 阅读 · 1 评论 -
[JZOJ5072]【GDOI2017第三轮模拟day1】单旋
题目描述有一颗spaly,就是只有单旋的splay,现在有5种操作:插入一个点x把最小值旋到根把最大值旋到根2之后删掉最小值3之后删掉最大值问每次操作涉及的那个点的深度,后面几个操作的深度为没旋时的深度。100%的数据满足:1<=m<=10^5;1<=key<=10^9。所有出现的关键码互不相同。任何一个非插入操作,一定保证树非空。在未执行任何操作之前,树为空。分析暴力肯定就是打一棵sp原创 2017-04-19 22:17:07 · 489 阅读 · 0 评论 -
[jzoj4665][CF407E]k-d-sequence
题目大意给你一个长度为n的序列a[],两个参数k,d,求序列最长的一段,使得这一段所有的数升序排序后最多再加上k个任意的数,可以构成公差为d的等差数列。输出这一段的两端。 n<=2*10^5, 0<=k<=2*10^5, d,|a[i]|<=10^9分析首先有个很显然的结论嘛,答案的那一段区间所有数,两两之间的差都是d的倍数,而且互不相同。那么前者等价于相邻的差是d的倍数,于是乎我们可以把原序列原创 2017-03-13 21:54:32 · 754 阅读 · 0 评论 -
JZOJ4918.【GDOI2017模拟12.9】最近公共祖先
题目大意n个节点的有根树,根为1,每个节点有黑白两种颜色与一个固定的权值val。一开始全都是白色的,然后给出m个操作。有两种: M v,把v修改成黑色; Q v,找一个黑色节点u,使得u,v的lca的权值最大,输出权值,假如没有输出-1。 分析先考虑一下暴力怎么打。 我们可以枚举lca是什么,看看其子树有没有黑色节点。 那么lca一定是v到根上的一个点,枚举lca,并查询lca的子树下,除原创 2016-12-10 17:06:32 · 691 阅读 · 1 评论 -
JZOJ4843. 【GDOI2017模拟11.2】相位幻击
题目描述分析我们知道xor是可逆的,那么对于一个询问x,y,设lca是z,假如我们设val[i]为i到根的xor值,就可以知道val[x]^val[y]^val[father(z)]是答案嘛。 另外,xor题一般的思路是先拆位。 那么对于某个节点我们要让他整颗子树原本的0,1状态掉转(xor 1),或者不动(xor 0)。现在考虑如何放到val上来:我们发现它子树的点跟他深度奇偶性相同的点val原创 2016-11-14 21:05:16 · 801 阅读 · 0 评论 -
[agc023E]Inversions
题目大意给你一个大小为n的数组a[1..n]。 一个排列P[1..n]是合法的,当且仅当对于所有i=1~n,P[i]<=a[i]。 问你所有合法排列的逆序对个数。 n<=2e5。分析我们先考虑总合法排列数怎么算。 设cnt[i]表示a的值大于等于i的数量。 我们考虑从大到小填数,那么一个位置能够填了,之后也一定能够填,就没有后效性了。 数量就是∏i=1..ncn...原创 2018-05-04 19:40:33 · 1105 阅读 · 0 评论