摘要: 对于提高组,线段树的重要性不言而喻 什么是线段树? 线段树是一颗二叉搜索树。之所以叫线段树,是因为线段树上每个节点维护的是序列的一段区间。 线段树可以广泛地解决各种区间问题。相比于朴素算法$O(n^2)$的复杂度,线段树可以在$O(nlogn)$的复杂度下解决问题。 线段树的结构 线段树利用了分治的 阅读全文
posted @ 2020-08-27 15:04 Wuhen_GSL 阅读(233) 评论(0) 推荐(0)
摘要: 区间转化为点 前缀和与差分 通过预处理将区间操作转化为对点的操作,降低难度 其中差分思想应用较广,只要有二元性,就可以考虑差分。 如类似于加减这样的互逆的操作可用差分维护;如果一个点只有两种状态,或一个数在改变前后的奇偶性相反,都可以考虑差分。 P2882 [USACO07MAR]Face The 阅读全文
posted @ 2021-07-21 21:28 Wuhen_GSL 阅读(131) 评论(0) 推荐(0)
摘要: 二进制相关,但不知道是哪个库的 __builtin_ffs(x) 返回 x 的最后一位 1 是从后向前第几位 __builtin_clz(x) 返回 x 二进制下前导 0 的个数 __builtin_ctz(x) 返回 x 二进制下末尾 0 的个数 __builtin_popcount(x) 返回 阅读全文
posted @ 2021-07-21 21:27 Wuhen_GSL 阅读(74) 评论(0) 推荐(0)
摘要: 题目只要求合法的方案数 我们不难发现,如果当前状态合法,那么右端点右面的所有状态也合法。 先用ST表保证 \(O(1)\) 算出区间最小值,方便判断当前区间是否有合法的咖啡店,再用vector记录每个色调出现的位置,然后一个色调一个色调的计算,若合法则ans加右指针之后所有的点(包括右指针),同时左 阅读全文
posted @ 2021-07-21 21:24 Wuhen_GSL 阅读(40) 评论(0) 推荐(0)
摘要: 由题意得,只有强连通分量之间传递才能最终得到自己的编号。 可以用$tarjan$找出强连通分量,并从中找出大于1的最小的强连通分量则是最小的游戏回合数 //AC代码 //找SCC #include<iostream> #include<cstdio> #include<algorithm> #inc 阅读全文
posted @ 2021-07-21 21:23 Wuhen_GSL 阅读(55) 评论(0) 推荐(0)
摘要: 考前就有大佬说350没问题 蒟蒻瑟瑟发抖 中午到了酒店房间都没清理好,清理人员还去吃中午饭了,中午就没睡觉 进考场解压密码一致输不对,居然要加括号,非常离谱。 浏览一遍题目,感觉T3看起来十分亲切,感觉像个树蕨结构模板题,于是先做了T3 然而做着做着就感觉也没那么好调。1h后写出了模拟调用过程的暴力 阅读全文
posted @ 2020-11-08 13:28 Wuhen_GSL 阅读(94) 评论(0) 推荐(0)
摘要: CF1436B 对于一个 \(n\) 阶方阵,我们发现: 当 $ n$ 为偶数时,对角线元素为 $1$ ,其他元素为 $0$ 时,可以保证每一行每一列的和都是 $2$,满足题意。 当 \(n\) 为奇数时,则需要在以上构造的基础上在中心元素所在的行列填一个 $1$,使得中心元素所在的行列和为 $2$ 阅读全文
posted @ 2020-10-25 09:31 Wuhen_GSL 阅读(97) 评论(0) 推荐(0)
摘要: CF1433B 根据题意,将所有 $1$ 移动为连续的最小操作次数为所有 $1$ 之间 $0$ 的个数 因为数据范围很小,只要分别枚举找到第一个 $1$ 和最后一个 $1$ 统计他们之间 $0$ 的个数即可 //AC代码 #include<iostream> #include<cstdio> #in 阅读全文
posted @ 2020-10-24 14:59 Wuhen_GSL 阅读(137) 评论(0) 推荐(0)
摘要: CF1428A 通过理解题意,我们发现: 当需要拐弯的时候,兔子需要先走回箱子的位置,再走向拐弯的方向。则拐弯操作的花费为 \(2\) 。而直行的操作花费为 \(1\) 。 所以, 如果不需要拐弯,也就是 \(x1=x2\) 或 \(y1=y2\) 时,直接计算花费。 如果需要拐弯,也就是 \(x1 阅读全文
posted @ 2020-10-18 21:02 Wuhen_GSL 阅读(95) 评论(0) 推荐(0)
摘要: 我们知道一颗树的dfs序可以有多种,所以可以通过一些暗箱操作把dfs序给安排了,从而能够更好的维护树上的区间信息 什么是树剖 树剖的核心是恰当的把树剖分成若干条链,链拼接起来就成了一段区间,然后利用数据结构来维护。 一些概念 重儿子:子树节点最多的儿子 轻儿子:重儿子以外的儿子 重边:父节点与重儿子 阅读全文
posted @ 2020-08-27 17:37 Wuhen_GSL 阅读(136) 评论(0) 推荐(1)