考试的时候用哈希水过了第一题本来想用哈希只可以得20左右没想到由于数据过于水A了 然后雨天的尾巴骗了5分,总分105 我太菜了 首先时间分配的不合理:第一题大水题ac自动机打完了都不会,第二题略微想了想打了个高斯消元,然后样例没过......,最后输出了一个随机数,第三题(lca板子忘了,打错一个地 ...
分类:
其他好文 时间:
2019-06-23 15:41:55
阅读次数:
99
"传送门" 树上差分+线段树合并+离散化 对于修改的路径,树上差分就好了 代码: c++ include include include include include using namespace std; void read(int &x) { char ch; bool ok; for(ok ...
分类:
其他好文 时间:
2019-03-26 22:38:38
阅读次数:
173
Description N个点,形成一个树状结构。有M次发放,每次选择两个点x,y 对于x到y的路径上(含x,y)每个点发一袋Z类型的物品。完成 所有发放后,每个点存放最多的是哪种物品。 Input 第一行数字N,M 接下来N 1行,每行两个数字a,b,表示a与b间有一条边 再接下来M行,每行三个数 ...
分类:
其他好文 时间:
2019-01-11 13:08:34
阅读次数:
179
题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多。 解题思路: 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做。 首先在一个树节点上标记出哪些物品有多少,寻找道路上的节点暴力添加。 而如果节点比较多,我们使用树上差分u+1,v+1,lca-1,fa[lca]-1向上求 ...
分类:
其他好文 时间:
2018-09-05 00:45:31
阅读次数:
335
雨天的尾巴 bzoj-3307 题目大意:N个点,形成一个树状结构。有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个点发一袋Z类型的物品。完成所有发放后,每个点存放最多的是哪种物品。 想法:我们像主席树一样,维护桶然后对应节点合并即可。 最后,附上丑陋的代码... ... 小结:当 ...
分类:
其他好文 时间:
2018-07-20 00:15:34
阅读次数:
196
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3307 【题解】 这什么垃圾题啊卡空间卡时间卡栈 然后我会了一种新姿势:人工栈(好像也不难啊喂) 我们发现对于每种物品,只需要在u这地方的权值线段树上+1,v的权值线段树上+1,LCA的权值线段 ...
分类:
其他好文 时间:
2017-06-10 22:29:57
阅读次数:
115
3307: 雨天的尾巴 Description N个点,形成一个树状结构。有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个点发一袋Z类型的物品。完成所有发放后,每个点存放最多的是哪种物品。 N个点,形成一个树状结构。有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个 ...
分类:
其他好文 时间:
2017-04-03 22:56:54
阅读次数:
240
Description N个点,形成一个树状结构。有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个点发一袋Z类型的物品。完成所有发放后,每个点存放最多的是哪种物品。 N个点,形成一个树状结构。有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个点发一袋Z类型的物品。完 ...
分类:
其他好文 时间:
2016-07-29 19:05:14
阅读次数:
253
首先考虑序列怎么做。。。只要把操作差分了,记录在每个点上然后维护一棵权值线段树,表示每个颜色出现的次数,支持单点修改和查询最大值操作只要把序列扫一遍就好了,时间复杂度$O(n + m*logZ)$,其中$n$表述序列长度,$m$表示操作次数,$Z$表示颜色集合大小于是树形的时候,先树链剖分,然后把操...
分类:
其他好文 时间:
2015-05-16 13:14:02
阅读次数:
170
题目大意:给定一棵树,有mm个操作,每次给一条路径上的每个点分发一个颜色为zz的物品,所有操作结束后输出每个点上数量最多的是哪种物品
对于每个操作,我们在xx和yy上各打上一个插入zz的标记,然后在LCA(x,y)LCA(x,y)和Fa(LCA(x,y))Fa(LCA(x,y))上各打上一个删除zz的标记
然后我们对zz维护线段树
DFS一遍,对于每个节点进行如下操作:
1.将所有子节点的线...
分类:
其他好文 时间:
2015-05-12 23:09:22
阅读次数:
138