摘要:
参考资料:https://blog.csdn.net/sinat_39522506/article/details/131564256需要掌握知识:1.求解特殊数字2.鸡兔同笼、百钱买百鸡等枚举问题3.时间模拟问题 简述:枚举,顾名思义列举出每一种可能,然后去check(检查)该种可能是否满足条件, 阅读全文
摘要:
前言:现在中小学学习C++的人越来越多,可网上搜了搜桶排序的博文,发现大家都写得好深奥,于是,便有了这篇简单易懂(不是)的桶排序文章 思考一下,你面前有一些不大的数字,但是它们是乱序的,请问你如何将它们排成有序的序列? 不妨,让我们把这些数字当成生活中常见的东西,比如,这些都是不同种类的垃圾编号,我 阅读全文
摘要:
以下是一个基于ST表(Sparse Table)的RMQ(Range Maximum Query)问题的C++算法模板: #include<bits/stdc++.h> using namespace std; const int MAXN = 100005; const int LOGN = 20 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e3+10,inf = 0x3f3f3f3f; int nex[N]; //nex[j]的意思是当子串的第j个字符和主串的第i个字符不匹 阅读全文
摘要:
1. 哈希(Hashing):哈希是一种将字符串转换为唯一标识符的技术,通常用于字符串的快速查找和比较。实现难度相对较低,但需要处理哈希冲突的问题。哈希在处理大量数据的查找和比较问题时非常实用。2. KMP(Knuth-Morris-Pratt):KMP 是一种用于字符串匹配的算法,特别适用于查找子 阅读全文
摘要:
记忆步骤:1.全局变量应该有木棍数组a和标记数组vis主函数:1.最小木棍长度len,标记是否有答案变量f2.输入,并记录木棍的最大值maxx和全部长度sum3.从大到小排序4.遍历len从maxx到sum,如果sum刚好是len的倍数,那么证明有复原方案,进行深搜dfs函数:1.dfs(已经使用的 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e3+10,inf = 0x3f3f3f3f; char A[N],B[N],C[N]; char words[N]; int cnt; 阅读全文
摘要:
思路 题目大意是:把一棵树按深度分层,每一层断掉一条边,是剩下的节点数最小。 其实,我们可以将问题转换为断掉的节点数最多。 首先,贪心不可行,很容易被卡。 因为数据只有300,直接搜索就行。 搜索时一层一层搜,枚举断掉哪条边,并标记后代。 #include<bits/stdc++.h> using 阅读全文
摘要:
描述 有n个数字,a1,a2,...,an。 给出左右两个端点l和r,你的任务找到有多少个数字在l和r之间(包括端点)。 输入 输入的第一行有一个n(1≤n≤105)。 第二行包含n个数字,a1,a2,...,an(1≤a≤109); 第三行有一个k(1≤k≤105)。 接下来k行,每行有两个数字l 阅读全文
摘要:
描述 “离散化”是指把一个无穷大的集合映射到一个有限的集合中。 如有n个整数,其中可能存在相同的数,现在需要你将其去重后得到的m个数用1~m来表示,同时保持原始的大小顺序不变,即在不改变数据相对大小的条件下,对数据进行相应的缩小。 如: 原数据:1, 999, 100000, 15 处理后:1, 3 阅读全文