摘要: 步骤一 首先访问下面的网站,手工下载数据集。http://yann.lecun.com/exdb/mnist/ 把四个压缩包下载到任意文件夹,以便之后使用。 步骤二 把自己电脑上已经下载好的数据集的文件路径放到浏览器的窗口。 直接输入 会自行跳转 步骤三 跳转至mnist.py,把源代码中的reso 阅读全文
posted @ 2020-02-01 23:02 司念 阅读(4968) 评论(0) 推荐(1) 编辑
摘要: 第三章 栈 p57 等价类划分问题 - 邻接表的DFS /** 结构体为 AGragh n为元素个数 r为等价条件数 输入的集合是1~n的数 **/ void equiv(int n, int r) { int a, b, visit[n+1] = {0}; stack<int> stack; AG 阅读全文
posted @ 2020-02-01 12:18 司念 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 2015年真题代码 1. 求马鞍点 思路: 创建ma和mi数组分别存储最大最小值,其中,ma[ i ] = j 表示第 i 行的最大值在第 j 列。最后遍历一遍max数组。假设没有重复的数字。 2. 快排改进算法 求序列中所有和为m的子集 题目: 给定一个序列,设计算法求出元素和为M的所有子集合(让 阅读全文
posted @ 2020-02-01 12:14 司念 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 贪心算法 区间选点 /* 给定N个闭区间[ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。*/ const int N = 100010; int n; struct Range { int l, r; bool 阅读全文
posted @ 2020-02-01 12:11 司念 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 01背包 完全背包 多重背包 分组背包 混合背包 对于物品而言只能选择1个或者0个两种情况 对于物品而言可以无限制选取,也可以不选 对于物品而言最多能够选择从s[i]个,同样也可不选 一些物品捆绑在一起,每一组物品中只能选择其中的一个物品 有些物品可以选择1,有些物品可以选择无数个,有些物品只能选择 阅读全文
posted @ 2020-02-01 12:10 司念 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 位运算 位运算的基本操作 typedef struct Bitset { int setsize; // 16 32 ... int 是32位的 int arraysize; // 相当于有几行 unsigned short *v; // 之后会分配一片连续的空间 }Bitset; //还非要大写才 阅读全文
posted @ 2020-02-01 12:07 司念 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 二叉树 构建二叉树 typedef struct BTNode{ int data; struct BTNode *left; struct BTNode *right; }BTNode; // 创建二叉树 BTNode BinaryTree() { BTNode *T = (BTNode*)mal 阅读全文
posted @ 2020-02-01 12:03 司念 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 集合专题 初始化parent集合 const int N = 100; int parent[N], rank[N]; for(int i = 0; i < N; i++) { parent[i] = i; rank[i] = 0; // 为路径压缩做准备 } 寻找祖先结点 int find(int 阅读全文
posted @ 2020-02-01 12:01 司念 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 图的遍历和应用 实现方式:邻接矩阵可以使用vector。邻接矩阵的无穷表示方法: memset( road, 0x3f, sizeof(road) ); 应用场景:拓扑图、最小生成树、最短路径、二分图、DFS、BFS。 全排列问题 const int N = 7; int path[N+1]; bo 阅读全文
posted @ 2020-02-01 11:57 司念 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 堆排序 // 建立大根堆 void sort(int R[], int low, int high) { int i = low, j = 2 * i; int temp = R[i]; while (j <= high) { if (j<high && R[j] < R[j+1]) { j++; 阅读全文
posted @ 2020-02-01 11:50 司念 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 栈的应用 ###单调栈 // 常见模型:找出每个数左边离它最近的比它大/小的数 int tt = 0; for (int i = 1; i <= n; i ++ ) { while (tt && check(stk[tt], i)) tt -- ; stk[ ++ tt] = i; } 深搜模版 b 阅读全文
posted @ 2020-02-01 11:45 司念 阅读(104) 评论(0) 推荐(0) 编辑