- 博客(106)
- 收藏
- 关注
原创 线段树单点修改的应用
思路:对初始状态进行建树,然后这题就相当于查询第一个合法的位置,并且对其值进行修改,整个题目要求维护的是区间最大值,很显然可以使用线段树。
2024-06-23 15:03:54
140
原创 树状数组维护区间种类数
HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答…… 因为项链实在是太长了。于是,他只好求助睿智的你,来解决这个问题。
2024-06-23 14:59:40
606
原创 牛客练习赛125 D 扫描线
最后因为要对每种颜色进行维护,所以需要开1e5数量级别的线段树,这里有两种方法,第一种是动态开点,第二种则是只用建一次树,然后每次对使用了节点进行清空即可。
2024-05-18 10:32:03
230
原创 牛客周赛 Round 41 C-F
首先把每个红色子树的独立块给处理出来,什么叫独立块,即,对于每一个以红色节点为根的子树而言,其内部没有任何的红色节点,这样祖宗节点的红色子树赋值不会影响他的子节点。会出现不能整除三的情况,所以无法判断余数应该放在哪一部分最合适,所以暴力的去跑余数处于哪个部分即可。一个数是不是四的倍数,只用看最后两位是否能够整除4即可。记录当前总和,若总和大于 0 ,则给当前节点赋。容易知道,好串的组成一定是类似于多个连续的。组成,且这三部分的长度尽可能相同,但由于。,若小于 0 ,则赋值。,最后再进行动态调整即可。
2024-05-06 09:27:48
717
原创 Educational Codeforces Round 164 (Rated for Div. 2) A-E
Educational Codeforces Round 164 (Rated for Div. 2) A-E题解,D,E好题
2024-04-24 19:52:44
982
原创 Educational Codeforces Round 158 (Rated for Div. 2) A-D
Educational Codeforces Round 158 (Rated for Div. 2) A-D,D是好题
2023-12-07 23:51:52
129
原创 Codeforces Round 910 (Div. 2) D. Absolute Beauty
Codeforces Round 910 (Div. 2) D. Absolute Beauty
2023-11-22 21:34:36
104
原创 牛客小白月赛81
思路:我们可以发现,对于一颗树,若我们一次将其砍掉 x ,那么我将其每次砍去 1 ,然后砍 x 次获得的价值的相同,那么我们可以统计,对于每个高度,我们可以砍到这个高度的树有多少颗,又因为题目给出了树的初始高度和最低高度,那么由此可以想到差分,然后从最高处开始砍即可。
2023-11-21 19:40:52
143
原创 算法进阶指南图论 道路与航线
想法就是和强连通分量有关,我们很容易发现,题目中所说的双向边,就构成了一个强连通分量,而所谓的单向边,则相当于把强连通分量进行缩点,然后整个图成为了一个DAG,众所周知,对于DAG,我们可以在O(n)的时间复杂度内处理很多东西,比如最短路,最长链等。而对于这题,我们并不需要求出其强连通分量,我们先只建出包含双向边的图,由此,整个图会分成若干个连通块,我们运用dfs去搜出每个连通块即可,对于每个连通块,我们可以使用dijk去求出其内部的最短路,然后对于外部,我们运用拓扑排序进行更新即可。
2023-11-09 20:31:12
290
原创 算法进阶指南图论 最优贸易
C国有n个大城市和m条道路,每条道路连接这n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这m条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到C国旅游。
2023-11-09 01:26:01
709
原创 算法进阶指南图论 通信线路
考虑如何写check 函数,根据上面所说,如果从1-n的路径上,其花费大于 w的数量小于等于 k ,那么即为合法。思路:我们考虑需要升级的那条电缆的花费,若其花费为 w ,那么从 1 到 n 的路径上,至多存在 k 条路径的价值大于 w ,这具有一定的单调性,当花费 w 越大,我们路径上价值大于 w 的花费会越少,由此可以进行二分,求出我们所需要的最小花费。
2023-11-08 19:44:28
325
原创 多比特杯武汉工程大学第六届ACM新生赛 A,L
再考虑环对于答案的贡献,对于环上的点,其中一个点的贡献为 a ,剩余点的贡献为 c ,我们贪心去算出每个点为 a 时其环的对应的价值即可,然后取最大。,我们都想其对应的 i 进行连边,那么我们很容易得到到一个图,又因为题目所给定的为 n +1 个点,n 条边,所以显然整个图的构成为一条链加上多个环,且0这个点一定是处于链上,若在链上的。第二种则是求出每个强连通分量,对于强连通分量大小为 1 的点,其一定在链上,可以直接计算其价值,否则直接对所在的强连通分量进行遍历即可。一道很新奇的并查集。
2023-11-07 21:00:59
192
原创 牛客周赛 Round 17 C,D
考虑贪心,对于数字的选择,我们尽可能选择一些差值比较大的数字,换言之,则是对数组进行排序后,选择其最小值,次小值,最大值,次大值,以此类推,但由于这样进行选择,判断较为繁琐,所以正难则反,我们考虑最后保留下来的数字,通过上述我们会发现,最终保留下来的数字一定是一段连续的区间,且区间长度为。思路:题目令我们把k个数字换成其对应的平均值后,要求整个数组的最大值和最小值的差值最小。一道很板的题目,一开始把二分的时间复杂度想到nlogn了,导致没敢写。的时间复杂度内完成检验,具体使用前缀和进行维护即可。
2023-10-29 21:20:24
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人