题目链接:https://loj.ac/problem/2236 做法 其实没有什么好说的,这个题就属于那种看起来没什么细节,实际也没有什么细节的题,但是却把我埋了,关于这道题的细节请读者自悟 然后就是树上差分,适用于多次操作一次查询的题 把路径$(u, v)$的边权加$val$的操作: $diff ...
分类:
其他好文 时间:
2020-02-25 19:42:16
阅读次数:
64
「JLOI2014」松鼠的新家 "传送门" 两种做法: + 树上差分 $O(n)$ + 树链剖分 $O(nlogn)$ 树剖比较好写~~而且无脑~~,树上差分复杂度优秀一些但是会有点难调。 这里给出树剖写法: 唯一要讲的就是记得每次都把路径终点的贡献 $ 1$ 参考代码: ...
分类:
其他好文 时间:
2020-01-31 22:41:48
阅读次数:
75
"传送门" 先说一下做题的经历吧:因为昨天晚上刚打了比赛,今天又没有事干,然后看到自己的收藏里还有一道树剖就去莽了,然后就1A了(头一次1A紫题有点小激动 _ define N 300010 define M 1010 using namespace std; int n; int siz[N], ...
分类:
其他好文 时间:
2019-12-22 12:30:28
阅读次数:
103
"题意" 晚上不想做题了,随便刷水题,结果看见了这题。 第一眼:这不是搜索吗。。。水题。 敲完:额,我怎么T成90了。 于是看了题解。 根据约数和定理,我们肯定要搜索所有小于$\sqrt{S}$的质因数的指数,对于大于$\sqrt{S}$的要特判。~~于是就T了。~~ 题解中的做法是这样的: 还是搜 ...
分类:
其他好文 时间:
2019-12-20 01:03:45
阅读次数:
67
"Luogu P3258" 题意就是对于一棵树,要求按照给出的顺序对每一个节点进行访问,记录每一个节点被经过的次数;特别地,我们认为只有从一个节点往外走才能被认为是经过一次。(最后一句话非常重要,仔细理解题意) 前置知识:树链剖分,差分。 最开始看到这道题我是打算使用树链剖分+线段树来做的。 但是我 ...
分类:
其他好文 时间:
2019-12-10 22:32:38
阅读次数:
124
传送门 "Luogu" 解题思路 很容易想到直接构造合法的数,但是这显然是会T飞的。 我们需要考虑这样一件事: 对于一个数 $n$,对其进行质因数分解: $$n=\sum_{i=1}^x p_i^{c_i}$$ 那么就会有: $$\sigma(n)=\prod_{i=1}^x \sum_{j=1}^ ...
分类:
其他好文 时间:
2019-11-01 22:53:24
阅读次数:
176
复习 "P3258 JLOI2014松鼠的新家" 由于是对点权差分,那么对于节点2~n 1,每个点都在进入和出去的时候算了两遍,而按照题意,这里只用放一颗糖,故 1. 加之小熊在到达最后一个点的时候不用再拿糖果了 那么 //注意是a[i],不是i! ...
分类:
其他好文 时间:
2019-10-12 13:28:11
阅读次数:
62
"洛咕" 给定一棵$n(na[2] ... a[n]$,求每个点被经过了多少次. 分析:树上差分中的点差分.还是先跑一遍DFS预处理出LCA,然后对于每一对$a[i],a[i+1]$按照点差分的常规操作处理即可.然后再跑一遍DFS向上回溯时累加就好.最后因为对于中间的$i(2 include inc ...
分类:
其他好文 时间:
2019-08-31 17:14:53
阅读次数:
67
"题面" 分析 题目非常好理解,难就难在需要用到的算法,我这个数据结构菜鸟一开始直接打了个LCA(因为树剖不会写),t掉了......只有$50pts$。现在暂时还只有这个代码....... 代码 50pts: c++ include include include include define i ...
分类:
其他好文 时间:
2019-08-06 10:56:10
阅读次数:
91
描述 老师给每个同学一个号码牌,假设小明的号码牌上写着数字 S,那么其他那些手上的号码牌数字的所有正约数之和等于 S的同学就是小明的朋友。 输入 输入包含 k 组数据。 对于每组数据,输入包含一个数字S。 输出 对于每组数据,输出有两行,第一行包含一个整数 m,表示有 m 个小明的朋友。 第二行包含 ...
分类:
其他好文 时间:
2019-08-06 00:49:02
阅读次数:
125