
数据结构
文章平均质量分 92
CCSU_梅子酒
这个作者很懒,什么都没留下…
展开
-
2020 ICPC 澳门(G,J,C)详解
乍一看每次新增一个数似乎都要将前面的都更新一遍时间复杂度爆炸,但是对于博弈的这种题我们需要发现一些性质来入手。这样就能找到所有重复的颜色,减去同色的较小值,保留最大值,最后再用树状数组求一个区间求和即可。所以每次增加一个数从后往前更新,只需要更新能转移的数的最后一个位置就可以了,总共只有。我们知道平等组合游戏中,若当前点能转移到必败点,则当前点是必胜点。用的很麻烦的思路,以及臭长的代码,明天再补思路和注释,写吐我了。位置开始,不允许拿走同色的物品,但可以跳过。,代表该位置前一个同色的物品的位置。原创 2023-11-09 22:25:05 · 716 阅读 · 0 评论 -
2023 CPC 广东省赛(B,D, F)
有中文题面,题意就省略了。原创 2023-11-02 19:35:18 · 576 阅读 · 0 评论 -
AtCoder Beginner Contest 324(F)
出发可能有些节点到达不了,需要清除这些点的度。或者由于一定是小编号。显然也成立,于是就有了单调性,二分答案求解。需要一点思维的转化,一时竟然没想到。题目保证路径一定存在且无环。初看以为一时没思路,写了个到达。两个属性,需要找到一条从。更优,但是若是下一条边是。用拓扑排序时有个小坑点,从。大编号,可以直接循环求解。原创 2023-10-15 12:33:47 · 267 阅读 · 0 评论 -
【2022ICPC沈阳I题解】【值域线段树+贪心】The 2022 ICPC Asia Shenyang Regional Contest I. Quartz Collection
补了一天,网上没找到容易看懂的题解,唯一一篇还是同学的,但他丫的又不是个学数据结构的,当初怎么写的不记得了,给我讲晕了。这里重新整理一下思路。原创 2023-05-06 22:14:18 · 1195 阅读 · 1 评论 -
点分治解析
点分治详解初学者写了两篇模板题后略有心得,故写此篇博客帮助和我一样的初学者理解,本博客会结合两道模板题来进行解释点分治。若有错误的理解和解释希望大佬们指出。点分治,是处理树上路径的一个极好的工具。一般如果需要大规模处理树上路径,点分治是一个不错的选择。一.点分治的基本思想点分治,顾名思义就是基于树上的节点进行拆分。对于点的拆开其实就是对于树的拆开。所以我认为点分治的本质其实是将一棵树拆分成许多棵子树处理,并不断进行。这应该也是点分治的精髓。对于树上路径而言,所有路径都可以由两个点的最近路径来表示原创 2021-08-31 16:51:37 · 569 阅读 · 1 评论 -
线段树基础入门及模板(一)
线段树基础入门及模板(一)最近学了线段树这一实用的结构,在博客上也学习了许多大佬写的文章,于是想尝试自己写一篇博客,加深理解。本人在ACM上还是一个废物 萌新,希望大佬们多多指教,万分感谢。第一部 线段树的概念线段树可以用来储存一组数组,线段树的结构本身是一颗二叉树,每个节点存的数据都有两样,一是区间的的起点与终点,二是这个区间的区间和。以下图片引用自大佬的文章线段树 从入门到进阶(超清晰,简单易懂)虽然我本身就是和这位大佬学的。如图所见这是长度为4的数组形成的线段树,数组1~4内目前没有存值(原创 2021-05-19 20:07:00 · 241 阅读 · 0 评论