摘要: #题目链接 题目意思:给一个以$1$为根,$n-1$条双向边的树形结构,让我们选出$k$个节点作为出发点前往根节点$1$,算出每一个出发点到根节点的路径上有多少个非出发点的节点数的总和。 思路:如果我们选$u$节点作为非出发点的话,$u$的子树都会加上$u$这个节点的贡献$1$,总共$siz_u-1 阅读全文
posted @ 2022-08-20 10:13 浅渊 阅读(24) 评论(0) 推荐(0)
摘要: A 判断这个字符是大写还是小写,大写输出$A$小写输出$a$ char s; std::cin >> s; std::cout << (std::isupper(s) ? "A" : "a"); B 有$N$个物品,选出$K$个物品,使选出的物品价值之和最小。排个序将前$k$个加起来就行了 int 阅读全文
posted @ 2022-08-18 21:21 浅渊 阅读(37) 评论(0) 推荐(0)
摘要: A 直接输出$a × b$即可 int a, b; std::cin >> a >> b; std::cout << a * b << "\n"; B 将所有的$N$个数乘起来看是不是大于$10 ^ {18}$,很明显会爆$long\ long$而用高精度的话也太麻烦了,所以可以考虑用$__ int 阅读全文
posted @ 2022-08-15 14:44 浅渊 阅读(33) 评论(0) 推荐(0)
摘要: 题目链接 题意:将一个序列分成$k$段,求出这$k$段中$cost(t) = \sum\limits_{x \in set(t)} last(x) - first(x)$的大小,也就是求出区间内最后一次出现的数和第一次出现的数之间的差值。 思路: 对于求解这个式子的最小值,考虑用$dp$来求解,$d 阅读全文
posted @ 2022-08-12 21:28 浅渊 阅读(26) 评论(0) 推荐(0)
摘要: 题目链接 思路: 实现两个操作,区间加法和查询区间第k大。考虑分块的做法,区间加法对整块来说可以直接另开一个数组$tag$来对整块进行区间加法,对于零散块就直接暴力的加上。 区间加法 void update(int l, int r, i64 x) { if (belong[l] == belong 阅读全文
posted @ 2022-08-12 15:07 浅渊 阅读(66) 评论(0) 推荐(0)
摘要: 众所周知,$Ginger$是一位实力强劲的算法竞赛选手,擅长各种各样的算法,一切问题对于 $Ginger$来说都游刃有余。这一天$Ginger$发现了一个有趣的题目,题目的内容是这样的: 有$n$个算法,$Ginger$每次选择一个区间$[l,r]$,学习这个区间里的所有算法,但是每个算法只能学习一 阅读全文
posted @ 2022-08-12 11:33 浅渊 阅读(64) 评论(0) 推荐(0)
摘要: Slipper 题意: 我们知道有$n$个节点,有$n - 1$条边,所有的点形成了一棵树,每一个点到下一个点都有代价$cc$,我们也有一个操作,可以将满足$\left\vert depth_i - depth_j\right\vert = k$的所有点联通,连起来的新的边的代价是$c$,要我们求从 阅读全文
posted @ 2022-08-05 12:20 浅渊 阅读(67) 评论(0) 推荐(0)
摘要: 珂朵莉树($ODT$) 0x01 珂朵莉树可以解决什么问题 对于涉及区间推平操作的问题,就是把$[l, r]$区间内的所有数字变成相同的一个数。如果数据是随机的就可以使用珂朵莉树。 0x02 珂朵莉树的基本原理 比如一开始把一个区间分成这些部分,那么我们就可以用一个结构体将相邻的数字存起来,分别记录 阅读全文
posted @ 2022-08-05 12:08 浅渊 阅读(74) 评论(0) 推荐(0)
摘要: 题目链接 读题可以发现,我们要实现区间整体变成$0$,和区间内非$0$的位置建上一颗树。那么这个时候我们看到有区间推平操作就可以想到神奇的珂朵莉树($ODT$),那么这个时候我们就要考虑将树木和树苗区分开,我们可以假定树苗是$1$,树木的值是$2$。那么在砍树的时候直接推平整个区间,但是在推平的过程 阅读全文
posted @ 2022-07-29 22:44 浅渊 阅读(74) 评论(0) 推荐(0)
摘要: 九小时九个人九扇门 可以发现数字根其实就是将每个数位都加起来,然后对$9$取模,这就是一个数字的数字根。要求的是开启$9$扇门有多少种方案,可以考虑从$x \rightarrow x + a_i$,也就是第$i$个人他手表上有的数字$a_i$可以让现在能够开启第$x$扇门的方案转移到$x + a_i 阅读全文
posted @ 2022-07-06 17:56 浅渊 阅读(22) 评论(0) 推荐(0)