- 博客(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
501
原创 【算法基础课】笔记06——贪心
贪心 数学不等式相关 思路难想,但一般都是考问题转化。证难 区间问题 通用证明思路: 1.ans>=cnt2.ans<=cnt3.从而ans=cnt 1.ans>=cnt\\ 2.ans<=cnt\\ 3.从而 ans=cnt 1.ans>=cnt2.ans<=cnt3.从而ans=cnt 区间选点 原题:https://www.acwing.com/problem/content/907/ 908.最大不相交区间数量 同理 按右端点给区间升序排序 按顺序枚举区间(有区
2022-02-20 12:16:35
698
原创 【算法基础课】笔记03——搜索与图论
搜索与图论 练习:https://www.luogu.com.cn/problem/list?tag=126,127&page=1&orderBy=difficulty&order=asc https://www.luogu.com.cn/training/204#problems 存图 邻接表: // 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点 int h[N], e[N], ne[N], idx; // 添加一条边a->b void
2022-02-20 12:15:08
494
原创 【算法基础课】笔记01——基础数据结构
基础数据结构 链表与邻接表 数组模拟单链表(邻接表) 下标从零开始 第k个插入点下标为k-1 int 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
685
原创 【算法基础课】笔记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
414
原创 【算法基础课】笔记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
2488
原创 [打卡帖]《九日集训 - 雪国列车》(第一天) 宣誓
我一定坚持九天,好好学算法!!风雨无阻,无怨无悔! 第一天:https://blog.csdn.net/WhereIsHeroFrom/article/details/120876065
2021-11-30 08:13:12
258
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅