随笔分类 -  ACM相关-数据结构

摘要:题意 略 分析 1.首先要了解到BST的中序遍历是递增序列 2.我们用一个临时节点tmp储存p的中序遍历的下一个节点,如果p right不存在,那么tmp就是从root到p的路径中大于p val的最小数,否则就遍历p的右子树,找到最左边的节点即可 代码 阅读全文
posted @ 2018-06-01 15:27 遗风忘语 阅读(139) 评论(0) 推荐(0)
摘要:"传送门" 题意 给出一棵最小生成树及每个节点的颜色,询问$\frac{n(n 1)}2$条路径的权值和,一条路径的权值为该路径的颜色种数 分析 勉强理解了 "ftae" 的做法,但是代码还是不太会,还是太弱了(⊙﹏⊙)。 基本思想:求出每种颜色经过的路径数。 做一定转化:总路径数 每种颜色未经过的 阅读全文
posted @ 2017-07-26 22:15 遗风忘语 阅读(263) 评论(0) 推荐(0)
摘要:"传送门" 题意 q次操作,每次两种操作: 1 x y:将wx变成y 2 x:查询满足一下两个条件的字符串(①以字符串x为后缀②字符串值$\le wx$) 分析 对n个字符串预处理,设f[i][j]为第i个字符串0~j的子串哈希值。 再用v[i]记录以字符串i为后缀的字符串,统计的时候扫一遍 复杂度 阅读全文
posted @ 2017-07-23 15:29 遗风忘语 阅读(404) 评论(0) 推荐(0)
摘要:"传送门" 题意 q次操作,操作有两种: 1 v x k:a[v]+=x,a[v']+=x k(v'是v的子节点)... 2 v:查询$a[v]mod(10^9+7)$ 分析 子节点增加的值为$x+dep[v] k dep[s] k$,那么维护两个值x+dep[v] k与 k,用两个树状数组维护这两 阅读全文
posted @ 2017-07-23 15:20 遗风忘语 阅读(328) 评论(0) 推荐(0)
摘要:"传送门" 题意 略 分析 f[u]表示u到根的边的异或 树上两点之间的异或值为f[u]^f[v], 然后将查询用莫队算法分块,每个点插入到字典树中,利用字典树维护两点异或值大于等于M复杂度O(N^(3/2) logM) 参考 "_zidaoziyan" 表示又陷入查错的大坑,思路是对的,调不出来, 阅读全文
posted @ 2017-07-07 20:29 遗风忘语 阅读(156) 评论(0) 推荐(0)
摘要:"传送门" 题意 略 分析 01字典树,每次插入所有数,按顺序删除查询,按题目要求更新答案即可 学习了一种新的query写法 trick 1.不理解我的code的错误 代码 //wa include using namespace std; const int maxn = 1e3+10;//集合中 阅读全文
posted @ 2017-07-07 16:39 遗风忘语 阅读(268) 评论(0) 推荐(0)
摘要:"传送门" 题意 略 分析 将n个数插入字典树中,m次查询,取最大值,复杂度$O(mlogn)$ trick 1.注意题目给的空间,开40刚刚够(62852K) 2.作为01字典树的模板保存了 代码 阅读全文
posted @ 2017-07-04 22:39 遗风忘语 阅读(131) 评论(0) 推荐(0)
摘要:"传送门" 题意 有一个数列a,要求你求数列b和c,b[i]是a[i]…a[i+w 1]中的最小值,c[i]是最大值。如果a是1,3, 1, 3,5,3,6,7,则b为 1, 3, 3, 3,3,3,c为3,3,5,5,6,7。 分析 单调队列裸题,不过第一次写单调队列发现了很多trick 代码 阅读全文
posted @ 2017-03-15 14:38 遗风忘语 阅读(124) 评论(0) 推荐(0)
摘要:Problem D Time Limit : 3000/3000ms (Java/Other) Memory Limit : 65535/102400K (Java/Other) Problem Description ZYJ手上有一张地图,地图上面有着森林里面各个热带水果的坐标,例如菠萝,凤梨,番 阅读全文
posted @ 2017-02-11 13:05 遗风忘语 阅读(200) 评论(0) 推荐(0)
摘要:题目链接 题意: 给出n个字符串,接下来m天,每天每个字符串要增加对应的值,询问“memory”每天的排名 分析: 用hash表hash出每个字符串对应得值,然后放入二维数组(防止地址冲突),m天,输入字符串,查找并处理,最后用一个数组记录每次得值 代码: #include<cstdio> #inc 阅读全文
posted @ 2016-10-22 16:55 遗风忘语 阅读(299) 评论(0) 推荐(0)