算法基础
文章平均质量分 83
litchi&&mango
这个作者很懒,什么都没留下…
展开
-
由数据范围反推算法复杂度以及算法内容
原地址:由数据范围反推算法复杂度以及算法内容转载 2021-12-01 09:02:56 · 96 阅读 · 0 评论 -
算法基础之动态规划
文章目录一、背包问题1.01背包问题(1)二维数组版(2)一维数组版2.完全背包问题(1)三维数组朴素做法一、背包问题1.01背包问题介绍:有 N 件物品和一个容量为 V 的背包,每件物品有各自的价值且只能被选择一次,要求在有限的背包容量下,装入的物品总价值最大;特点:每种物品最多只能选一次,即对每种物品,只有选一种和不选两种状态,是其他背包问题的基础;闫式DP分析法:f[i][j]:表示所有选法集合中,只从前i个物品中选,并且总体积≤j的选法的集合,它的值是这个集合中每一个选法的最大值原创 2021-04-25 08:26:25 · 70 阅读 · 0 评论 -
算法基础之数学知识模板
文章目录一、数论1.质数(1)试除法判断质数(2)试除法分解质因数一、数论1.质数(1)试除法判断质数bool isnum(int x)//最基础的方法{ int sqrt_x = sqrt(x); if(x < 2) return false; else{ for(int i = 2; i <= sqrt_x; ++i)//或i <= n / i if(!(x % i))原创 2021-03-26 17:50:32 · 202 阅读 · 4 评论 -
算法基础的数据结构模板
一、链表由于动态链表new一个新空间的时候耗时较长,因此写算法题时,尽量用数组模拟链表,即静态链表,不需要new,更快速,可以节约很多时间;1.单链表const int N=1e8; int e[N]; //存储节点的值int ne[N]; //存储节点的next指针int idx; //表示当前用到了哪个节点int head; //head存储链表头void init(void) //初始化{ idx=0; head=-1;}void i原创 2021-03-02 16:34:31 · 637 阅读 · 0 评论 -
算法基础的基础模板
一.归并排序void merge_sort(int a[],int left,int right)//本来想用vector的,结果gg,QAQ { if(left>=right)//递归终止条件 return; int mid=(left+right)>>1; merge_sort(a,left,mid);//左右区间分别进行递归,最后得到的两个区间都各自有序 merge_sort(a,mid+1,right); int i=l原创 2021-02-25 20:23:53 · 224 阅读 · 1 评论