文章分类 - 编程等级考试
摘要:光骓者的荣耀 https://www.luogu.com.cn/problem/P5638 #include <bits/stdc++.h> using namespace std; const int maxn =1e6+5; unsigned long long a[maxn];//输入数组 u
阅读全文
摘要:1 全排列问题 https://www.luogu.com.cn/problem/P1706 #include<bits/stdc++.h> using namespace std; //定义变量 n,当前排列记录数组,当前排列数字是否使用数组 int n,used[10],curRow[10];
阅读全文
摘要:倍增思想可以很早学习,有些需要数学基础,所以放到这个级别 应用--二进制拆分 应用一 快速幂 应用二-快速乘 O(1)快速乘 https://www.luogu.com.cn/problem/T105910 #include<bits/stdc++.h> #define ll long long u
阅读全文
摘要:电子学会六级-数据结构-离散化 离散化 离散化是一种数组处理编程技巧 有些数据因为本身很大或者类型不支持,自身无法作为数组的下标来方便地处理,而影响最终结果的只有元素之间的相对大小关系时,我们可以将原来的数据按照从大到小编号来处理问题,即离散化 用来离散化的可以是大整数、浮点数、字符串 离散化目的是
阅读全文
摘要:并查集 https://www.luogu.com.cn/problem/P3367 //https://blog.csdn.net/qq_43345339/article/details/105151512 #include<bits/stdc++.h> using namespace std;
阅读全文
摘要:破损的键盘 https://www.luogu.com.cn/problem/UVA11988 #include<bits/stdc++.h> const int N = 100000+5; int last, cur, next[N]; char s[N]; int main(){ while(s
阅读全文
摘要:KMP字符串匹配 https://www.luogu.com.cn/problem/P3375 #include<bits/stdc++.h> using namespace std; const int N = 1e6 + 50; int nextval[N]; string s, a; void
阅读全文
摘要:于是他错误的点名开始了 https://www.luogu.com.cn/problem/P2580 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; int son[30][maxn],idx=0; int cnt
阅读全文
摘要:堆的基本存储 https://www.runoob.com/data-structures/heap-storage.html 堆的 shift up https://www.runoob.com/data-structures/heap-shift-up.html 堆的 shift down ht
阅读全文
摘要:二分查找 二分查找也叫二分搜索 (binary search),也叫折半查找 (half-interval search),是一种在有序数组中查找特定元素的搜索算法。所以用二分查找的前提是数组必须是有序的. 模板1-匹配目标数据 int binarySearch(int a[], int left,
阅读全文
摘要:电子学会七级-数据结构-二叉树 二叉树的存储 二叉树的顺序存储 【深基16.例1】淘汰赛 https://www.luogu.com.cn/problem/P4715 #include <bits/stdc++.h> using namespace std; const int N = 7; int
阅读全文
摘要:Dijkstra 把整个集合分成两部分,确定的最短路点集合、未确定最短路点集合 在未确定最短路的点中,确定一个点,对这个点对应的邻接点进行松弛操作 视频 https://www.bilibili.com/video/BV1zz4y1m7Nq?share_source=copy_web https:/
阅读全文
摘要:技能树 sum i j 高度小于等于i 节点数为j的二叉树个数 sum i-1 j 高度小于等于i-1 节点数为j的二叉树个数 dp i j 高度等于i 节点数为j的二叉树个数 sum i j = sum i-1 j + dp i j 右子树不同二叉树个数 sum i-1 j-1-k 左子树和右子树
阅读全文
摘要:1.4 逻辑表达式与条件分支 09:判断能否被3,5,7整除 题解 多分支条件判断 if(boolean_expression 1){ // 当布尔表达式 1 为真时执行 } else if( boolean_expression 2){ // 当布尔表达式 2 为真时执行 } else if( b
阅读全文
摘要:1.3 算术表达式与顺序执行 06 甲流疫情死亡率 题解 在C++中,两个整数相除的结果仍然是整数(除数不能为0),整数相除会舍弃小数部分 例如: int val=21/6=3 整数相除如果需要得到小数的情况,需要保证除数和被除数必须有一个是浮点数 #include<bits/stdc++.h> u
阅读全文
摘要:菲波那契数列 题解 由题意知,数列第一个数和第二个数都是1,第三个数开始,当前数为前两个数之和 #include<bits/stdc++.h> using namespace std; int fib(int n){ if(n==1 || n==2){ return 1; } return fib(
阅读全文
摘要:电子学会编程等级考试二级-函数 1.13-34 确定进制 #include<bits/stdc++.h> using namespace std; int bs[]={2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int toTen(int b,int x){//b进
阅读全文
摘要:电子学会编程等级考试二级-一维数组 1.6-01 与指定数字相同的数的个数 #include<bits/stdc++.h> using namespace std; int a[105],n,m,ans; int main(){ cin>>n;//输入序列长度n for(int i=0;i<n;i+
阅读全文