
CF刷题记录
题解
m0_73035684
这个作者很懒,什么都没留下…
展开
-
CF383C Propagating tree
知识点:线段树,DFS序,前缀和。原创 2024-05-27 22:11:05 · 279 阅读 · 0 评论 -
CF1749E Cactus Wall
知识点:图论,最短路。原创 2023-02-02 11:59:11 · 126 阅读 · 0 评论 -
[ABC213E] Stronger Takahashi
这个题和前面的一个abc的题很像,几乎一模一样,但是二者还是有区别的,那个题是只能走空地,不能走障碍,用了魔法也是,这个题是可以走障碍,导致了我一直理解不了这个题的题意,可以摧毁一个区域里面的障碍,那是不是用了魔法之后这个区域里面的障碍都没有了,还是仅仅走上去,现在想想好像觉得没有那么难以理解,但是还是有点别扭,原创 2023-01-30 09:07:18 · 137 阅读 · 0 评论 -
[ABC176D] Wizard in Maze
【代码】[ABC176D] Wizard in Maze。原创 2023-01-29 18:10:47 · 140 阅读 · 0 评论 -
[ABC176E] Bomber
【代码】[ABC176E] Bomber。原创 2023-01-29 12:48:44 · 105 阅读 · 0 评论 -
Gym - 100625J Jailbreak
这个题就跟刚刚做的做的题基本上一样了,一样是图论的最短路问题,就是找一个点到3个点的最短路径,唯一的不同是这个题我们要在外面补一圈空地,感觉这个也是比上个题难的地方,然后方法是双端队列BFS预处理+枚举,枚举每个点的时候,我们要注意的是枚举到那些是门的点,也就是边里面两个端点至少有一个这样的点边权就为1的点,当枚举到的时候最短距离要减2,因为3个重合了,那么就是减2,这样这个题就完成了,这种题难点还是怎么提炼图论的模型,抽象出来问题。知识点:枚举,最短路。原创 2023-01-29 09:35:20 · 111 阅读 · 0 评论 -
CF590C Three States
【代码】CF590C Three States。原创 2023-01-29 08:31:58 · 91 阅读 · 0 评论 -
CF240F TorCoder
知识点:线段树,贪心。原创 2023-01-17 03:39:46 · 76 阅读 · 0 评论 -
CF15D Map
还是那句话,学进阶指南的这个可是前两章不错的检验题,检验自己的学习成果怎么样。知识点:前缀和,单调队列,排序。原创 2023-01-16 18:51:47 · 90 阅读 · 0 评论 -
CF514D R2D2 and Droid Army
感觉这个题的难度也高了,应该是5差不多的,现在变菜了,写不出来尺取法了,这种题,尺取法加单调队列可以线性解决的,应该是最优的算法,这里采用了二分+单调队列的写法,二分答案,这个是最大化的二分,然后二分判定函数里面单调队列求固定长度的区间的最大值,也就是你想让这个区间变为小于等于0就要减去这些最大值,然后看几个最大值加起来是不是满足小于等于题目给定的次数,就完事了。知识点:二分,单调队列。原创 2023-01-16 18:04:56 · 69 阅读 · 0 评论 -
CF558E A Simple Task
【代码】【无标题】原创 2023-01-16 02:22:23 · 91 阅读 · 0 评论 -
CF816B Karen and Coffee
这个题不是很难,1400的题,但是我一开始看它在线段树的题单里面就用线段树做了,虽然做出来了但是这也太蠢了,这个完全是离线的问题,查询啥的全部都是在修改之后的,完全可以用差分和前缀和来做,差分数组表示次数,然后来个前缀和数组表示前缀这里一共有多少个是满足的,然后查询的时候直接O1查询就可以了,代码短时间快,结果我一开始就是生搬硬套用的线段树做的,罪过罪过,太菜了。线段树代码,真的是无语的。知识点:差分,前缀和。原创 2023-01-15 19:20:26 · 87 阅读 · 0 评论 -
CF438D The Child and Sequence
这个感觉像是在线段树里面进行剪枝,这个和开方的比较相似,一个数最多开7次方,那么它又最多可以取多少次余呢,这里的取余指的是取余成功的,也就是余数小于等于被取余的数,有一个数学的公式,就是一个数取余之后小于原来的二分之一,所以一个数x最多取余成功logx次,根据这个编写代码,线段树里面维护区间最大值,不需要向下传递,最大值小于余数那么就不要向下递归,因为就算递归了也还是一样的,这样就算没有了懒标记也不会超时,知识点:线段树,数学。原创 2023-01-14 16:43:57 · 59 阅读 · 0 评论 -
CF492D Vanya and Computer Game
【代码】CF492D Vanya and Computer Game。原创 2023-01-04 13:34:45 · 78 阅读 · 0 评论 -
CF1701C Schedule Management
这个1400的题还卡了我一会儿,思路就是二分,最优解+单调性可以判断一个题是不是用二分做,然后就是判定函数,这里的两个参数要用long long,因为累加,中间会出现溢出,就是因为这个稍微卡了一会儿。原创 2023-01-04 13:05:37 · 129 阅读 · 0 评论 -
CF919C Seat Arrangements
这个题还是比较简单的,分别从行列的方向枚举统计答案就行了,然后一个坑点是如果需要统计的长度是1的话,那么行列方向上会重复统计一倍的答案,所以这个点要注意,我还是没想到,WA了才发现。原创 2023-01-04 09:18:14 · 94 阅读 · 0 评论 -
CF1684D Traps
这个贪心其实还是很简单的推一下式子就出来了,我们假设已经有k个位置用了跳过陷阱的机会,然后把任意下标设出来,得出这个位置伤害减免,然后求和,就可以得到一些常数,以及为了让这个伤害减免,我们的排序依据,从大到小排序取前面的k个数就行了。注意数据要开long long。原创 2023-01-02 20:05:34 · 103 阅读 · 0 评论 -
CF731C Socks
这个题首先要看出是图论的模型,因为a和b在一起,b和c在一起,那么想让所有的天数脚上的袜子都一样,那么这三个袜子的颜色都要是一样的,那么就很简单了,袜子就是结点,两脚穿的袜子就是一条无向边,这种连通性的问题用深搜和并查集都可以的,选择使用了深搜,最后的答案就是每个连通块累加,每个连通块的答案就是这个连通块的大小,减去,这个连通块里面出现次数最多的颜色的出现次数,这样这个题就解决了。原创 2023-01-01 09:22:38 · 89 阅读 · 0 评论 -
CF687D Dividing Kingdom II
首先是题意,给定若干个边,每个边都有编号,权值,然后给定询问,询问是一个区间,只考虑编号在这个区间里面的边(也就是把满足的边连接),把这些边上的点分成两个集合,显然一些边的两个端点在同一个集合,一些边的端点分开在两个集合,对每个询问,求两个集合里面完整的边的最大值的最小值,读完题,发现这就跟关押罪罚那个题一模一样,就是多了询问这一层,这个题虽然是2500,但是我觉得没有这么难,做了noip2010的关押罪犯再来做这个题你就知道了,这两个题简直一模一样。知识点:暴力,贪心,并查集。原创 2022-12-31 09:39:03 · 109 阅读 · 0 评论 -
CF28B pSort
做了很多这种类型的题目,所以现在做这种题比较顺手了,这种类型的题目就是可以任意交换一个序列上的给定两个位置的元素,能否由现在的序列得到目标序列,可以看到限制还是比较少的,是交换任意的次数,这种题一般都是用的图论的模型,可以交换某两个位置的元素,那么就是这两个位置的下标之间有一条边,因次一个序列可以得到若干个连通块,如果两个序列相应的连通块里面的元素总的是相同的,不需要考虑具体的位置,那么这两个序列是可以通过交换得到的,对于这个题还有一个小注意的点,那就是这个序列不是环形的,可能向前向后没有可以交换的位置。原创 2022-12-31 08:27:02 · 91 阅读 · 0 评论 -
CF25D Roads not only in Berland
这个1900的题还是比较简单的,这种生成树的简单题都可以用并查集想一想,我们就输入的时候连接边,除非边两边的元素已经在一个集合里面了,那么这个边我们就储存起来,后面备用,然后我们开始遍历可以用来连接不同连通块的边,每用一个边,都从第二个结点向后找一个和第一个元素不在一个连通块里面的结点,这就是一个答案,输出,输出完之后不要忘记要把这两个不同的连通块相连一下,就是因为这个wa了一次。原创 2022-12-31 07:39:02 · 116 阅读 · 0 评论 -
CF109C Lucky Tree
知识点:思维,并查集。原创 2022-12-31 06:09:05 · 70 阅读 · 0 评论 -
CF598D Igor In the Museum
【代码】CF598D Igor In the Museum。原创 2022-12-30 14:00:46 · 77 阅读 · 0 评论 -
CF9E Interesting Graph and Apples
知识点:并查集,思维。原创 2022-12-30 13:34:15 · 110 阅读 · 0 评论 -
CF691D Swaps in Permutation
没啥好说的,其实就是连通性问题,可以使用并查集来解决,但是一开始写的程序效率有点低,写了一写无用的东西,就是vector的删除,其实这个根本是不用删除的,把多余的部分代码去掉就过了,这个题的关键还是看出元素之间的关系具有传递性,可以使用并查集来解决,原创 2022-12-30 11:59:05 · 83 阅读 · 0 评论