上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: #include<iostream> #include<algorithm> using namespace std; const int MAXN = 1e5 + 5; int n,m; int lg2[MAXN]; int f[MAXN][50]; int main(){ cin.tie(0) 阅读全文
posted @ 2024-10-22 19:19 To_Carpe_Diem 阅读(21) 评论(0) 推荐(0)
摘要: 位运算 位运算(\(Bitwise Operations\))是一种直接对二进制位进行操作的运算方式。在 \(C++\) 中,位运算符包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)和右移(>>)。这些运算符在处理二进制数据时非常有用,尤其是在需要高效处理数据或进行底层操 阅读全文
posted @ 2024-10-18 23:43 To_Carpe_Diem 阅读(68) 评论(0) 推荐(0)
摘要: 字典树 字典树是什么? 理论知识 插入操作 我们在插入的时候,先从根节点去向下遍历。对于字符串 \(S\) 的一位 \(S_i\)。 如果发现其在字典树中当前节点下有这个字符 \(S_i\),则继续向下,在向下的过程中每次给当前节点的次数加 \(1\),记录字符串前缀数量。 若无这个字符,则开辟一个 阅读全文
posted @ 2024-10-16 22:35 To_Carpe_Diem 阅读(23) 评论(0) 推荐(0)
摘要: 割点(割边) 前置知识 首先是一些简单的基础。 连通分量:在无向图中其实就是相当于连通块。 \(dfs\) 序:利用 \(dfs\) 在树上遍历的过程。 割点:去除这个点后这个图的连通块又增加了。 割边:去除这个边后这个图的连通块又增加了。 实现思路 如果我们在一个连通分量里面对任意一个点做 \(d 阅读全文
posted @ 2024-10-09 00:08 To_Carpe_Diem 阅读(89) 评论(0) 推荐(0)
摘要: \(\texttt{2024.8.4-2024.8.17 桐柏集训}\) 时间 内容 个人想法 Day1 计算机程序的构造与解释; 递归问题简介 好久没写代码了,第一天找找手感 Day2 贪心算法; 前缀和与差分; 分治算法; 突然发现自己连贪心都不会写了,感觉自己好菜 Day3 DFS & BFS 阅读全文
posted @ 2024-10-03 00:01 To_Carpe_Diem 阅读(36) 评论(0) 推荐(0)
摘要: 字符串Hash 定义 就是类似于 \(\text{map}\) 的一种映射关系吧,一个字符串对应一个整数值,通过整数值的异同来判断字符串的异同。那么如何去计算呢? P3370 【模板】字符串哈希 单哈希法 我们可以对于一个字符串$ ( s = s_1, s_2, s_3, \ldots, s_n ) 阅读全文
posted @ 2024-08-17 09:28 To_Carpe_Diem 阅读(66) 评论(0) 推荐(2)
摘要: DP问题 定义 什么是 \(DP\),答曰:一种通过将全局问题分解成不同的子问题来进行对复杂问题的计算。 在我看来就是一种递推的 \(ProMax\) 版,依旧是用之前计算过的来推出现在要计算的。 DP板子问题 P1115 最大子段和 思路 我们用 \(dp\) 数组来定义到 \(i\) 为止,最大 阅读全文
posted @ 2024-08-14 23:06 To_Carpe_Diem 阅读(43) 评论(0) 推荐(1)
摘要: 最小生成树 定义 什么是最小生成树呢? 好问题,通俗来说就是给你一个图( \(n\) 个节点),让你选 \(n-1\) 条边使其保持连通,但是又要保证所选的边的和最小。 P3366 【模板】最小生成树 思路(Kruskal) 我们应该怎么实现呢,不妨将要选的边排个序,从小到大选,诶,好想法,这也是一 阅读全文
posted @ 2024-08-12 22:34 To_Carpe_Diem 阅读(48) 评论(3) 推荐(2)
摘要: 离散化 定义 离散化本质是一种哈希,是一种用来处理数据的方法。 1.创建原数组的副本。 2.将副本中的值从小到大排序。 3.将排序好的副本去重。 4.查找原数组的每一个元素在副本中的位置,位置即为排名,将其作为离散化后的值。 B3694 数列离散化 代码 #include<iostream> #in 阅读全文
posted @ 2024-08-12 22:26 To_Carpe_Diem 阅读(80) 评论(4) 推荐(1)
摘要: 单调栈 定义 单调栈,就是一个栈,不过栈内元素保证单调性。即,栈内元素要么从小到大,要么从大到小。 而单调栈维护的就是一个数前/后第一个大于/小于他的数。 直接看模板题。 P5788 【模板】单调栈 思路 首先 \(f(i)\) 表示的是从 \(i\) 之后第一个大于 \(a_i\) 的元素的下标。 阅读全文
posted @ 2024-08-11 22:20 To_Carpe_Diem 阅读(52) 评论(2) 推荐(1)
上一页 1 ··· 3 4 5 6 7 8 9 下一页