- 博客(10)
- 收藏
- 关注
原创 【算法基础课】笔记05——动态规划
动态规划从集合的角度理解状态表示 f(i, j)集合:只考虑前i个物品并且总体积<=j的所有选法属性:Max + Min + 数量状态计算——集合划分(不含i, 含i)画出面包图,表示出可能的各种状态分析方法:先不考虑第 i 件物品,变为 f(i-1, j)和f(i -1, j - vi) + wi背包问题01背包每个物品用一次滚动数组优化:(原因)f(i)只用到了f(i - 1),所以可以把前面的都省掉,只看j体积 j - v[i] <=j——>0
2022-02-20 12:22:32 397
原创 【算法基础课】笔记06——贪心
贪心数学不等式相关思路难想,但一般都是考问题转化。证难区间问题通用证明思路:1.ans>=cnt2.ans<=cnt3.从而ans=cnt1.ans>=cnt\\2.ans<=cnt\\3.从而 ans=cnt1.ans>=cnt2.ans<=cnt3.从而ans=cnt区间选点原题:https://www.acwing.com/problem/content/907/908.最大不相交区间数量 同理按右端点给区间升序排序按顺序枚举区间(有区
2022-02-20 12:16:35 648
原创 【算法基础课】笔记03——搜索与图论
搜索与图论练习:https://www.luogu.com.cn/problem/list?tag=126,127&page=1&orderBy=difficulty&order=aschttps://www.luogu.com.cn/training/204#problems存图邻接表:// 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点int h[N], e[N], ne[N], idx;// 添加一条边a->bvoid
2022-02-20 12:15:08 418
原创 【算法基础课】笔记01——基础数据结构
基础数据结构链表与邻接表数组模拟单链表(邻接表)下标从零开始第k个插入点下标为k-1int head,v[N],ne[N],i;//头节点下标,该节点值,节点的next指针,当前点下标void init(){ head=-1;//指空 i=0;}void insert(int a){ v[i]=a,ne[i]=head,head=idx++;}//头插void insert_k(int k,int x){ v[i]=x,ne[i]=ne[k],ne[k]=i++;}v
2022-02-20 12:12:57 610
原创 【算法基础课】笔记02——基础算法
基础算法方法:上课理解思想——>背模板——>做模板题(多敲几遍以增加熟练度)快速排序分治确定分界点调整区间(左<=x ,右>=x)递归处理左右两段归并排序确定分界点 mid=(l+r)/2递归排序 left right归并——合二为一void merge_sort(int q[], int l, int r){ if (l >= r) return; int mid = l + r >> 1; merge_s
2022-02-20 12:11:29 349
原创 【算法基础课】笔记04——数学知识
数学知识数论建议学习的数学课程:线性代数、离散数学1.质数质数定理:1~n中有n/lnn个质数质数的判定——试除法O(sqrt(n))约数成对(d<=n/d)bool is_prime(int x){ if(x<2)//0 1 return false; for(int i=2;i<=x/i;i++)//优化 if(x%i==0)//有因数 return false; return true;}分解质因数——试除法O(sqrt(n))n中最多只
2022-02-20 12:07:35 2343
原创 [打卡帖]《九日集训 - 雪国列车》(第一天) 宣誓
我一定坚持九天,好好学算法!!风雨无阻,无怨无悔!第一天:https://blog.csdn.net/WhereIsHeroFrom/article/details/120876065
2021-11-30 08:13:12 197 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人