摘要: P8317 [FOI2021] 幸运区间 题目传送门 分治 + dfs 首先可以发现 \(k\) 和 \(d\) 很小,所以是可以搜索的。 那么就考虑如何枚举区间,显然 \(n^2\) 枚举是会超时的,所以就考虑分治来求。 求的过程中就分成三种情况来处理:在左边一半,在右边一半,以及跨越中间点。显而 阅读全文
posted @ 2023-11-14 14:52 jingyu0929 阅读(27) 评论(0) 推荐(0)
摘要: P1323 删数问题 题目传送门 贪心+模拟 这个模拟的话就是前面加数的地方,本来以为到 \(3e4\) 的时候这个数很大,但是我打表打出来看了一下,发现不大,只有几万还是几十万,所以完全可以存的下的。 他要求最小的,所以用一个优先队列来维护就可以了,然后我们就求出了一列数字,然后考虑贪心维护,如果 阅读全文
posted @ 2023-10-20 17:08 jingyu0929 阅读(15) 评论(0) 推荐(0)
摘要: Day 31 2466 Sue 的小球 一遍过捏。 点击查看代码 struct node{ int x,y,v; bool operator < (const node &t) const { return x < t.x; } }; int n,st,be; node w[N],temp[N]; 阅读全文
posted @ 2023-08-24 20:42 jingyu0929 阅读(15) 评论(0) 推荐(1)
摘要: ## 堆 一棵树(二叉树),每个子节点都大于(或小于)他的父节点。 父亲权值不小于儿子权值(大根堆),父亲权值不大于儿子权值(小根堆),默认是大根堆 手写堆: 1. 插入:先插入进去,然后一个个往上看,看看是不是比父亲大(或小),如果不满足堆的对应性质,就删掉。 2. 删除:把根节点和最后一个节点交 阅读全文
posted @ 2023-07-26 20:29 jingyu0929 阅读(24) 评论(0) 推荐(0)
摘要: md,我宣布线段树造福人类!!! ## 树状数组 需要满足结合律(交换顺序和左右分开算都是可以的)和可差分性(如果乘法的时候需要每个数都有逆元)。没有办法解决最大值(好像?) 大部分树状数组能够解决的题目都可以用线段树解决(但是老师说有些人丧心病狂会卡线段树) 结构图: ![](https://cd 阅读全文
posted @ 2023-07-25 20:05 jingyu0929 阅读(28) 评论(0) 推荐(0)
摘要: ## 线段树 基本的线段树就略过去了,基本线段树不会写这一年也白学了。 区间修改的时候要懒惰标记。如果有加和乘的话要考虑哪一个操作先。然后如果是乘的话一开始要初始化为 $1$ 动态开点线段树:只有当访问到某个子节点的时候才开这个节点。 标记永久化:如果确定懒惰标记不会爆的话,可以不下传懒惰标记,而是 阅读全文
posted @ 2023-07-24 18:39 jingyu0929 阅读(8) 评论(0) 推荐(0)
摘要: ## gcd 和 lcm 就是最大公因数和最小公倍数。比较常规,一般求的时候是先用辗转相除法求出最大公因数,然后再通过 $lcm(a,b) = a \times b \div \gcd(a,b)$ 求出最小公倍数。 ```cpp int gcd(int x,int y) { if (!y) retu 阅读全文
posted @ 2023-07-21 18:43 jingyu0929 阅读(47) 评论(0) 推荐(0)
摘要: ## 强连通 在有向图中,如果两个顶点 $u,v$ 间有一条从 $u$ 到 $v$ 的路径,也有一条从 $v$ 到 $u$ 的路径,则称这两个点强连通 如果有向图中任意两个顶点都是强连通的,那么这张图就是强连通图。 性质:一个有向图 $G$ 是强连通的,当且仅当 $G$ 中有一个回路,他至少包含所有 阅读全文
posted @ 2023-07-20 18:26 jingyu0929 阅读(42) 评论(0) 推荐(0)
摘要: ## kruskal 重构树 首先前置知识就是 $kruskal$ 求最小生成树,就不再多说了。 $kruskal$ 重构树其实就是把最小生成树这个建成一个二叉树,然后这个图中所有的叶子节点都是原图中的节点。 其余的点每一个点都有一个权值 $w[i]$ ,代表从左边的集合到右边的集合的路径,优于重构 阅读全文
posted @ 2023-07-17 18:18 jingyu0929 阅读(39) 评论(0) 推荐(0)
摘要: ## 双指针 也常叫 $two-pointers$ ,是一种简单又灵活的技巧和思想,单独使用可以轻松解决一些特定问题,和其他算法结合也能发挥多样的用处。 顾名思义,就是同时使用两个指针,在序列、链表结构上指向的是特定位置,在树、图上指向的是节点,通过同向移动,或者相向移动来维护、统计信息。 ### 阅读全文
posted @ 2023-07-13 08:59 jingyu0929 阅读(66) 评论(0) 推荐(0)