随笔分类 - STL
STL
摘要: . 四平方和 + 自定义排序(重载<)+二分 题目传送门 一、题目大意 四平方和定理,又称为 拉格朗日定理: 每个正整数都可以表示为至多 个正整数的平方和。 如果把 包括进去,就正好可以表示为 个数的平方和。 比如: $5=0^2+0^2+1^2
阅读全文
摘要:## [ . 可达性统计](https://www.acwing.com/problem/content/166/) ### 一、题目描述 给定一张 个点 条边的 **有向无环图**,分别统计从每个点出发能够到达的点的数量。 **输入格式** 第一行两个整数
阅读全文
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; int a[10]; int main() { int n; cin >> n; //放入数组 for (int i = 1; i <= n; i++) a[i] = i; do { //输出打印
阅读全文
摘要:题目传送门 一、暴力大模拟 #include <bits/stdc++.h> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; bool found = false; for (int i1 = 1; i1 <= 9
阅读全文
摘要:题目传送门 一、理解与感悟 1、因为并查集需要编号,如果只给串的话,需要一个和数字的对应关系,用保存这个关系。 2、最后还要输出祖先的姓名,就是一个根据数字获取名字的映射关系,用来保存这个关系。 二、完整代码 #include <bits/stdc++.h> using n
阅读全文
摘要:题目传送门 理解与感悟 1、字符串Hash 2、使用STL中的unordered_map很方便就可以建立字符串Hash, 否则需要采用类似于126进制的办法计算出字符串HASH,再MOD,麻烦。 3、value值是一个二维数组的一维下标,表示字符串的HASH映射值,比如:1,2,3,4,5,...
阅读全文
摘要:题目传送门 一、STL+scanf大法 #include <bits/stdc++.h> using namespace std; int t;//数据组数 int n;//表示给定的数 unordered_map<int, int> _map; int x; int main() { scanf(
阅读全文
摘要:题目传送门 一、二分搜索法 #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> PII; const int N = 1e5 + 10; int n, q; PII a[
阅读全文
摘要:#include <bits/stdc++.h> using namespace std; int n; string name; int opt, score; unordered_map<string, int> _map; int main() { cin >> n; while (n--)
阅读全文
摘要:题目传送门 一、理解与感悟 1、STL中自带的set,可以自动去重。 2、STL中自带的set,自带排序功能,可以直接使用lower_bound找出大于等于目标值的位置。upper_bound是找出大于目标值的位置。 3、lower_bound与upper_bound返回的是迭代器,本质上是一个指针
阅读全文
摘要:题目传送门 一、二分法解法 #include <bits/stdc++.h> using namespace std; const int N = 200010; int a[N]; int c; typedef long long LL; LL cnt; int main() { int n; c
阅读全文