
数据结构
余西子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Gym 101655D Delta Quadrant 树形dp
题目链接https://codeforces.com/gym/101655/attachments题意一棵有着 1e41e41e4 个结点的树,树的边上有权值,你现在可以任意选择从某一个起点开始,遍历 n−kn-kn−k (k<=20)(k<=20)(k<=20)个不同的结点并返回,问经过的路径长度最短为多少。做法看到 kkk 的个数其实心里就有点谱了,并且 nnn ...原创 2020-03-23 15:09:50 · 298 阅读 · 0 评论 -
CF932 D. Tree 倍增
题目链接: https://codeforces.com/contest/932/problem/D题意4e5次操作,每次操作有两种不同内容111 fff www 表示新增加一个结点,以 fff 作为其父节点,新结点权值为 www222 uuu sumsumsum 表示以结点 uuu 为第一个元素找到一个序列,要求:① 序列中靠后的点必须是前面的点的父亲。② 序列所有结点的和不能...原创 2020-03-17 20:46:48 · 243 阅读 · 0 评论 -
UFPE Starters Final Try-Outs 2020 J.Jingle Bells 树形dp
题目链接 http://codeforces.com/gym/102448/problem/J题意你现在有一棵树,5种颜色 (1,2,3,4,5)(1,2,3,4,5)(1,2,3,4,5) ,树的边会有一种颜色或者没有被染色。现在要你给树染上颜色,让每一个顶点的所有边都带有不同的颜色,问你有多少中方案。做法树形 dpdpdp ,(赛上并没有时间想,挺神奇的一道我应该是做不出来的一道题)。...原创 2020-02-05 20:45:37 · 634 阅读 · 0 评论 -
cf #616 (Div. 2) E. Prefix Enlightenment 拆点并查集
题目链接: http://codeforces.com/contest/1291/problem/E题意:你现在有一个 nnn 位的 010101 串 SSS ,和 kkk 个集合,每个集合里会有 1,2,3,4,.....,n{1,2,3,4,.....,n}1,2,3,4,.....,n 中的若干个数字,并且保证每个数字只会在最多两个集合中出现。当你某次选择某一个集合 xxx 时,串 S...原创 2020-02-03 20:05:22 · 384 阅读 · 0 评论 -
605D A. Board Game set+树状数组思想
题目链接: https://codeforces.com/gym/260204/problem/A题意:你现在有 nnn 种魔法,每种魔法 iii 都有四个数值 a[i],b[i],c[i],d[i]a[i],b[i],c[i],d[i]a[i],b[i],c[i],d[i] , 现在你有初值 x=0,y=0x=0,y=0x=0,y=0 ,一个魔法 iii 能被使用当且仅当满足 a[i]<...原创 2019-11-20 14:06:08 · 424 阅读 · 0 评论 -
E. Little Elephant and Tree dfs序+线段树
题目链接: http://codeforces.com/contest/258/problem/E题意:你现在做法:代码#include <bits/stdc++.h>#define lson rt<<1#define rson rt<<1|1#define mid (l+r)/2#define rep(i,a,b) for(int i = ...原创 2019-11-10 10:59:01 · 168 阅读 · 0 评论 -
cf 246 E. Blood Cousins Return 二分+主席树
题目链接: http://codeforces.com/problemset/problem/246/E题意:你现在有一棵 1e51e51e5 个结点的树,每个结点有一个权值。你现在有 1e51e51e5 个询问,每个询问会有两个值 v,kv,kv,k ,询问的是结点 vvv 的往下第 kkk 代所有结点中有多少个不同的权值。做法:因为每一层的结点都已经固定了,所以我们可以按照层序遍历来...原创 2019-11-04 10:03:52 · 314 阅读 · 0 评论 -
Codeforces Round #587 (Div. 3) F. Wi-Fi dp+线段树维护
题目链接: http://codeforces.com/contest/1216/problem/F题意:nnn 户人家要联网,第 iii 家用户联网的成本为 iii ,其中有一些人家家中有 wifiwifiwifi ,这使得如果这些人家里联了网,那么 [max(i−k,1),min(i+k,n)][max(i-k,1),min(i+k,n)][max(i−k,1),min(i+k,n)] 范...原创 2019-11-02 09:28:50 · 212 阅读 · 0 评论 -
Manthan, Codefest 19 E. Let Them Slide
题目链接: http://codeforces.com/contest/1208/problem/E题意:你现在有 nnn 行数组,他们被放在一个 mmm 列的箱子中,数组的长度如果不到 mmm 则可以左右移动,现在问你对于每一列 xxx ,经过数组移动后这一列可以达到的最大值为多少。做法:对于不出现负数的情况:前 LLL 个位置,每个位置上只能取到区间 [max(1,i−(w−L))...原创 2019-10-15 15:30:27 · 147 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)D Distance
题目链接: https://ac.nowcoder.com/acm/contest/888/D题意:现在在一个n∗m∗zn*m*zn∗m∗z 的长方体上有两种操作,操作1是要你在这个长方体上多加一个坐标 (x,y,z)(x,y,z)(x,y,z) ,操作2是查询这个长方体上目前离点 (x0,y0,z0)(x_{0},y_{0},z_{0})(x0,y0,z0) 曼哈顿距离最近的点的距离...原创 2019-08-16 21:35:49 · 283 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)E Explorer
题目链接: https://ac.nowcoder.com/acm/contest/888/E题意:做法:#include<bits/stdc++.h>#define lson rt<<1#define rson rt<<1|1#define rep(i,a,b) for(int i=(int)a;i<=(int)b;i++)using na...原创 2019-08-11 21:26:17 · 770 阅读 · 5 评论 -
hdu- 6625 three arrays 字典树 贪心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6625题意: 现在你有一个长为n的数组a和数组b,现在要你把两个数组进行重新排序,排序后可以根据两个数组得到一个新的数组c c[i]=a[i]^b[i], 现在请你重排a和b数组,使得得到的这个c的字典序最小,输出c数组。做法: 参考了大神的代码做法,对...原创 2019-08-09 20:31:46 · 346 阅读 · 0 评论 -
2019牛客暑期多校训练营(第七场)E Find the median 线段树 特殊存法
题目链接:https://ac.nowcoder.com/acm/contest/887/E题意: 给你n个区间,每次往你现有的数中加上l,l+1,.....,r-1,r这些数,问你每次加完这些数后你现在的数中的中位数是多少。做法: 先将给你的数进行离散化,然后进行一番特殊的处理后就可以使用线段树了。什么特殊的处理呢,就是把右端点++,然后每次更新的时候...原创 2019-08-08 20:45:31 · 810 阅读 · 7 评论 -
hdu 5575 Discover Water Tank 左偏树
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5575题意:现在有一个巨大的水库(可视为二维的),水库中间被 n−1n-1n−1 个挡板分成了 nnn 个部分,你知道这些挡板的高度。现在你知道 mmm 条探测的结果,每一条探测结果是 x,y,flagx,y,flagx,y,flag 表示第 xxx 个部分,高为 y+0.5y+0.5y+0.5 ...原创 2019-08-13 14:49:35 · 220 阅读 · 0 评论 -
Educational Codeforces Round 64 D. 0-1-Tree 树形dp or 并查集
题目链接: http://codeforces.com/contest/1156/problem/D题意:给你一棵树,树的边权为 000 或者 111 ,定义一个 pair<a,b>pair<a,b>pair<a,b> 对答案的贡献 +1+1+1, 当且仅当树上从 aaa 到 bbb 的路径上不存在经过了边权 111 之后又经...原创 2019-09-10 21:25:29 · 169 阅读 · 0 评论 -
hdu 6621 多校第四场 K-th Closest Distance 主席树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6621题意: 给你1e5个数和1e5个询问,每个询问给你一个区间L,R 一个质数P和一个数K,你要找到数组中区间L到R中和P距离第k小的值(P和一个数x的距离为abs(P-x))。做法: 第k小其实听着就很像是主席树的样子,但是这里是和一个固定的数的距离,...原创 2019-07-31 20:00:10 · 275 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)I Inner World 线段树
题目链接: https://ac.nowcoder.com/acm/contest/888/I题意:你开始的时候有n个只有点1的树,现在你要进行m次给树加点的操作,每次操作给你u v l r,表示你要在第l到第r棵树上的点u后加一个v,即加一个v变成u的儿子,并保证u这个点一定都存在。做法:因为它题目保证所有的v都是不一样的,即把所有树当成一棵看的话,加进去的最后应该是一棵没有重复点的树...原创 2019-09-04 21:07:58 · 137 阅读 · 0 评论 -
2019 Asia Nanchang First Round Online C. Hello 2019
题目链接: https://nanti.jisuanke.com/t/41350题意:给你一个长为 2e62e62e6 的字符串,给你 2e62e62e6 个询问,每次询问一个区间 [l,r][l,r][l,r] ,问你在这个区间中,最少要删掉多少个字符才能使得这个区间中存在子序列 ′9102′'9102'′9102′ 而不存在子序列 ‘8102’‘81...原创 2019-09-08 20:55:52 · 134 阅读 · 0 评论 -
Educational Codeforces Round 69 Culture Code dp+线段树
题目链接: http://codeforces.com/contest/1197/problem/E题意:你现在有 nnn 个俄罗斯套娃,每个套娃有一个外框大小 out[i]out[i]out[i] 和一个内框大小 in[i]in[i]in[i] , out[i]>in[i]out[i]>in[i]out[i]>in[i] ,并且他们的差就是这个套娃的厚度。套...原创 2019-09-09 21:47:27 · 151 阅读 · 0 评论 -
Codeforces Round #574 (Div. 2) E. OpenStreetMap 单调栈做子矩阵最小和
题目链接: http://codeforces.com/contest/1195/problem/E题意:做法:代码#include<bits/stdc++.h>#define rep(i,a,b) for(int i = (int)a;i<=(int)b;i++)#define pb push_back#define fi first#define se sec...原创 2019-09-10 13:51:02 · 180 阅读 · 0 评论 -
E - Master of Subgraph HDU - 6268 树分治+bitset 计算所有子图权值和
题目链接: http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf题意:你现在有一棵有3000个有权结点的树,现在问你对于从 111 到 mmm 中的每一个数 xxx ,是否在树中存在一个子图,使得子图中点权和等于 xxx ,输出 mmm 个数 ,若存在则输出 111 ,否则输出 000 。做法:赛上的时候想到了 b...原创 2019-09-17 15:48:19 · 383 阅读 · 0 评论 -
915 F. Imbalance Value of a Tree 并查集
题目链接: http://codeforces.com/contest/915/problem/F题意:给你一颗结点带权的树, I(x,y)I(x,y)I(x,y) 代表从结点 xxx 到结点 yyy 的路径上最大值减去最小值的差。 要你求 ∑i=1n∑j=1nI(i,j)\sum^{n}_{i=1} \sum^{n}_{j=1} I(i,j)∑i=1n∑j=1nI(i,j) 。做法:...原创 2019-09-25 20:14:31 · 165 阅读 · 0 评论 -
Codeforces Round 73F. Choose a Square 线段树
题目链接: https://codeforces.com/contest/1221/problem/F题意:二维平面上有 nnn 个带权值的点,选择一个 [(a,a),(b,b)](a<=b)[(a,a),(b,b)] (a<=b)[(a,a),(b,b)](a<=b) 的一个正方形区域获得的权值是该区域内点权的和减去正方形边长。 现在要你选择一个值最大的区域,输出最大权值 ...原创 2019-09-29 12:54:10 · 108 阅读 · 0 评论 -
hdu 6447 YJJ's Salesman 树状数组
YJJ's Salesman Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 741Accepted Submission(s): 211 Problem Description YJJ...原创 2018-08-26 10:20:03 · 320 阅读 · 0 评论 -
hdu 6602 Longest Subarray 想法线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6602题意: 给你一个数组a,保证该数组中的每个数字属于[1,c],现在要你求一段最长的区间使得,在这个区间内,所有在1~c的数字要么不出现,要么出现超过k次。做法: 很有意思的一个线段树啊真不好想。 假设我们枚举每一个右界R,那么对于...原创 2019-07-26 21:10:46 · 162 阅读 · 0 评论 -
P2597 [ZJOI2012]灾难 DAG支配树 lca+拓扑
题目链接:https://www.luogu.org/problem/P2597题意: 给你食物链中所有生物的食物(有向无环图DAG),现在问,如果每个生物i消失了会有多少生物也随之消失。做法: 神奇的做法 我们看下面的两个图,右边是按照题意给你的捕食和被捕食关系建立的有向图,左边是我们要用来查询LCA的图。这是发生了什么呢。我们先根据...原创 2019-08-04 19:27:03 · 360 阅读 · 0 评论 -
hdu-4694 支配树模板
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=题意: 给你n个女生的联系情况,第n个人是大姐大(即题目中的根),从它开始会向其他人发送消息,如果第y个人失联了那么第x个人就无法收到消息,就称y是x的一个重要的姐妹,现在问你每个人的重要的姐妹的编号总和,如果不连通那么就是0。做法: 看了将近三个小时的支配树...原创 2019-08-04 18:23:57 · 207 阅读 · 0 评论 -
4302 Interval GCD 区间加以及求区间gcd
题目链接:http://contest-hunter.org:83/contest/0x40%E3%80%8C%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E8%BF%9B%E9%98%B6%E3%80%8D%E4%BE%8B%E9%A2%98/4302%20Interval%20GCD题意: 两种线段树操作,1是区间加,2是求区间gcd;做法:...原创 2019-04-22 12:35:56 · 703 阅读 · 0 评论 -
【洛谷P3384】【模板】树链剖分板子 hdu 3966
贴一个觉得写的不错的链接:https://www.cnblogs.com/ivanovcraft/p/9019090.html操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和操作3: 格式: 3 x z 表示将以x为根节点的子树内所有节点值都加上z操作4: 格式: ...原创 2019-04-14 12:08:18 · 183 阅读 · 0 评论 -
Codeforces Round #535 (Div. 3) E2. Array and Segments (Hard version) 线段树
题目链接:http://codeforces.com/contest/1108/problem/E2s题意: 给你n个数个m个区间(n<=1e5,m<=300),要你选出一些区间(每个区间最多被选择一次),每个区间里对应的数都减去1,使得n个数中的最大值减去最小值最大。做法: 看到区间其实能想象的到是线段树,但是这里用了区间的随...原创 2019-04-11 20:32:31 · 218 阅读 · 0 评论 -
Educational Codeforces Round 61 (Rated for Div. 2) G. Greedy Subsequences 单调栈+线段树
题目链接:http://codeforces.com/contest/1132/problem/G题意: 给你一个长度为n的数组a,现在给你一个定义,在一个贪心的子序列A中,假设A[i]与A[i+1]在原数组中的下标为x,y的不仅要满足a[x]<a[y],在原数组中的位置中y也要最小,即y为第一个权值大于x的下标。 现在给你一个k,问你[1,k],[2,...原创 2019-04-02 10:52:12 · 151 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第六场)I-Team Rocket
链接:https://www.nowcoder.com/acm/contest/144/I来源:牛客网Team Rocket时间限制:C/C++ 4秒,其他语言8秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述There are n trains running between Kanto and Johto...原创 2018-08-10 20:03:10 · 251 阅读 · 0 评论 -
UVALive 8374 Starting a Scenic Railroad Service 树状数组
题目链接:https://vj.e949.cn/7d6132df29befa405680c7874e7d5524?v=1542286983题意: 很不想形容这道题的题意。。让我直接说翻译成人话之后的题意吧。。就是给了你n个区间,要你求两个值,一个是该区间重复覆盖了多少其他区间,求最大值,另一个就是求同一段区间被覆盖了最多数量的次数。做法: 求几个区间的...原创 2018-11-23 21:47:24 · 195 阅读 · 0 评论 -
Gym 101991D Dull Chocolates 二维偏序 离散化
cf老进不去就不发链接了,直接讲题意好了。 在n*m的区域内给你k个点,现在要你统计出,以(1,1)为左下角,有多少个子矩阵内包含奇数个点。做法: 类似二维偏序的思想,因为给你的点最多只有1000个点,所以一开始要先用离散化把这些点变得集中一点,然后用类似二维偏序的方向,for每一个点同时用树状数组维护y方向上有多少个点,每次计算包含这个点并以其作为...原创 2018-11-24 19:10:42 · 351 阅读 · 0 评论 -
POJ 2104 主席树板子
题目链接:http://poj.org/problem?id=2104模板题,求区间第k小。 第k大把下面的数字改一下就好啦。 改成num-k+1就好乐!这里留两个板子吧..0~n-1和1~n的;#include <iostream>#include <cstdio>#include <cstring>#include <alg...原创 2019-03-01 16:03:19 · 372 阅读 · 0 评论 -
Codeforces Round #528 (Div. 1 D. Rock-Paper-Scissors Champion 树状数组+思维
链接:http://codeforces.com/contest/1086/problem/D题意: 给你一个n长度的SRP组成的字符串,分别代表石头剪刀布,每次随机选取相邻的两个人进行对决,失败的一方退出队伍,相同则随机取一人退出,n-1次操作后剩下的那个人胜利。现在有q个询问,要你输出q+1个数字,每次询问会给你一个修改pos C,代表pos位置上的这个要修改成出C这个字...原创 2019-03-01 14:03:47 · 240 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 B-The writing on the wall 暴力or经典单调栈
Feeling hungry, a cute hamster decides to order some take-away food (like fried chicken for only 303030 Yuan).However, his owner CXY thinks that take-away food is unhealthy and expensive. So she dem...原创 2018-09-05 21:30:49 · 264 阅读 · 0 评论 -
Codeforces Round #182 (Div. 1) D Yaroslav and Divisors1 树状数组
题目链接:http://codeforces.com/contest/301/problem/D题意: 给你 n个数,m个询问,每次询问你,在li到ri这个区间内有多少对数xi,xj(xi<=xj)使得xi是xj的因子,如 2 4 7中 区间[1,2]里,2是4的因子,2是自己的因子,4也是自己的因子。做法: 想了bitset与,但是空间...原创 2019-05-07 21:59:29 · 192 阅读 · 0 评论 -
cf #569 (Div. 1) C. Serge and Dining Room 线段树(思维)
题目链接:http://codeforces.com/contest/1179/problem/C题意: 给你n个物品(每个物品一个)的价格和m个现在依次排在队里的人手上的钱,每个人都会尽可能把钱用完去买一样东西,即买当前物品中能买的价值最高的,不能买就不买走人,问m个人排完之后剩下的价值最高的物品价格是多少。做法: 主要还是要把题意提取出来吧...原创 2019-06-26 13:08:53 · 479 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场) G Removing Stones 笛卡尔树优化
题目链接:https://ac.nowcoder.com/acm/contest/883/G题意: n堆石子,每个石子都有一个石子数。小明每次拿石子都要从非空的石子堆中任意选两堆,每堆都只拿一个,直到所有石子被取完他获胜或者还有石子没取完但是无法再取,当然如果给定的石子堆总数本来就是奇数,那一定取不完,所以如果总数是奇数,小明可以先从一个最少的石子堆中取走一个(也只能是一...原创 2019-07-26 10:49:15 · 241 阅读 · 0 评论