自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 struct*数组 初始化

遇到一次struct数组忘记初始化的bug,记录一下。

2023-04-26 00:56:58 431 1

原创 【bug】vmware 启动黑屏

转载:https://askubuntu.com/questions/1048737/failed-to-start-snappy-daemon。

2023-04-03 20:21:59 494

原创 【c++ primer plus 笔记】01-智能指针

使用堆区内存时,往往需要new分配指针,使用结束后要用delete回收内存,如果忘记delete就会造成内存泄漏。这样的手动管理是一种负担,智能指针会自动回收内存。可以看作指针的封装类,创建时将new得到的地址赋给智能指针,过期时(对象销毁)在析构函数中释放堆区内存。

2023-04-03 17:19:13 162

原创 【graph cpp bug】修改graph后,节点id比N大

bug

2023-02-15 19:59:17 100

原创 cpp vector iterator && #ifdef

bug

2022-12-17 03:21:50 81

原创 9.高性能计算 期末复习

期末考试复习

2022-12-15 15:00:10 975

原创 0.高性能计算 课程实验

MPI, OpenMP, C Pthread/c++ threads, CUDA

2022-12-15 14:07:54 175

原创 cpp queue bug: malloc.c:2379

bug malloc.c:2379

2022-11-30 01:10:34 1251

原创 003-7算法笔记【动态规划】LCS最长公共子序列

剑指 Offer II 095. 最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。示例 1:输入:text1 = “a

2022-06-18 22:03:35 86

原创 003-6算法笔记【动态规划】leetcode152. 乘积最大子数组

leetcode152. 乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。子数组 是数组的连续子序列。示例 1:输入: nums = [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: nums = [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。记是以结尾的最大乘积若,;若,应该为以

2022-06-18 21:59:15 242

原创 005-5算法笔记【回溯】TSP旅行商问题

某售货员要到若干城市去推销商品,已知各城市之间的路程,他要选定一条从驻地出发,经过每个城市一遍,最后回到住地的路线,使总的路程最短。该题利用回溯法求解,该解空间为一棵排列树。我们假设初始的一条路线为x,x中的值为 1,2,3,……,n,表示该路线为由城市1依次经过城市2、3……到n后再回到城市1(当然是假设该路线存在)。如果不存在的话,我们只需改变一下这个排列的排列方式,再进行判断,所以可想而知,我们可以知道该解空间是一棵排列树。...

2022-06-18 21:40:27 363

原创 priority_queue

优先队列

2022-06-12 13:15:30 78

原创 004-3算法笔记【贪心】分析4-1、两个磁带存储

贪心、回溯

2022-06-10 21:03:01 151

原创 004-1【图结构】最小生成树

1584. 连接所有点的最小费用给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例 1:示例 2:示例 3:示例 4:示例 5:解析每个point是一个vertex,

2022-06-07 01:33:05 160

原创 005-4算法笔记【回溯】N皇后

51. N 皇后按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[“.Q…”,“…Q”,“Q…”,“…Q.”],[“…Q.”,“Q…”,“…Q”,“.Q…”]]解释:如上图所示,

2022-06-07 00:45:58 122

原创 005-3算法笔记【回溯】符号三角形

符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“ 。计算有多少个不同的符号三角形,使其所含”+“ 和”-“ 的个数相同 。 n=7时的1个符号三角形如下:Input每行1个正整数n .........

2022-06-07 00:13:42 780

原创 003-1【树结构】前序、中序、后序、建树

1.2 中序遍历1.3 后序遍历1.4 层次遍历(BFS)2、建树2.1 根据前序和中序建树前序遍历的结果是即根节点总是前序遍历中的第一个节点。中序遍历的结果是只要在中定位到根节点,那么我们就可以分别知道左子树和右子树中的节点数目,也就是可以确定和的每一部分。这样,原问题就缩小为:构造,在中构造左子树,在中构造右子树105. 从前序与中序遍历序列构造二叉树利用map记录inorder中的,减少在inorder中搜索root的时间:2.1 根据中序和后序建树......

2022-06-06 15:54:07 311

原创 004-4算法笔记【贪心】区间覆盖问题

435. 无重叠区间贪心做法:区间右端点越小,后面越可能有更多的不重叠区间时间复杂度:O(nlogn),其中 n是区间的数量。O(nlogn) 的时间对所有的区间按照右端点进行升序排序,并且需要 O(n)时间进行遍历。因此总时间复杂度为 O(nlogn)。空间复杂度:O(logn),即为排序需要使用的栈空间...

2022-06-06 14:13:52 298

原创 002-4算法笔记【分治】最小K个数

面试题 17.14. 最小K个数快速搜索排序:找到第k+1小的数,返回左侧部分复杂度: O(n) = n +n/2 +n/4 +… < 2*n进行一轮快排后,若1.i==k,arr[i]是第k+1小的数,返回左侧部分2.ik,第k+1小的数在左侧,搜索[left,i-1]...

2022-06-06 14:06:13 140

原创 005-2算法笔记【回溯】装载问题、子集和问题

有一批共n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量为wi,且,装载问题要求确定是否有一个合理的装载方案可将这些集装箱装上这2艘轮船。如果有,找出一种装载方案。容易证明,如果一个给定装载问题有解,则采用下面的策略可得到最优装载方案。(1)首先将第一艘轮船尽可能装满;(2)将剩余的集装箱装上第二艘轮船。将第一艘轮船尽可能装满等价于选取全体集装箱的一个子集,使该子集中集装箱重量之和最接近C1。由此可知,装载问题等价于以下特殊的0-1背包问题。用回溯法设计解装载问题的O(2^n)计算

2022-06-01 21:28:18 955

原创 debug-linux no such file or dir

linux: bash XXX no such file or dir1. exev permissionsudo chmod 777 xxx 2.system versionmachine is 64-bit$ uname -aLinux ubuntu 5.13.0-44-generic #49~20.04.1-Ubuntu SMP Wed May 18 18:44:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linuxexev file is 32-bit

2022-05-27 16:07:41 98

原创 005-1算法笔记【回溯】回溯的步骤

DFS遍历搜索树+剪枝排列、组合、子集问题:Flood Fill:游戏问题:N皇后、数独https://leetcode-cn.com/problems/permutations/solution/hui-su-suan-fa-python-dai-ma-java-dai-ma-by-liweiw/1.画出树2.编码3.剪枝void backtrack(参数){ if(终止条件){ //do sth return; } for(本次集合内的节点){ //处理节点 bac

2022-05-02 16:42:26 457

原创 004-3算法笔记【贪心】习题4-1

题目假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同的颜色的最小着色数,相当于要找的最小会场数)算法设计: 对于给定的k个待安排的活动,计算使用最少会场的时间表。输入第1行有1个正整数k,表示有k个待安排的活动。接下来的k行中,每行有2个正整数,分别表示k个待安排的活动的开始时间和结束时间。时间以0点开始的分钟计。51 2312 2825

2022-05-01 22:53:29 262

原创 004-2算法笔记【贪心】leetcode 455、1005、860

leetcode 455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。输入: g = [1,2,3], s = [1,1]输出: 1解释: 你有三个孩子和两块小饼干,

2022-05-01 21:52:15 85

原创 003-5算法笔记【动态规划】习题3-17-字符串扩展距离

题目对于长度相同的两个字符串A和B,其距离定义为相应位置字符距离之和.两个非空格字符的距离是它们的ASCII编码之差的绝对值;空格与空格的距离为0,空格与其他字符的距离为一定值k.在一般情况下,字符串A和B的长度不一定相同.字符串A的扩展是在A中插入若干空格字符所产生的字符串.在字符串A和B的所有长度相同的扩展中,有一对距离最小的扩展,该距离称为字符串A和B的扩展距离.对于给定的字符串A和B,试计算其扩展距离.输入第1行是字符串A,第2行是字符串B,第3行是空格与其他字符的距离定值k.cmcs

2022-05-01 21:45:08 712

原创 003-4算法笔记【动态规划】习题3-15-样本收集问题

题目机器人 Rob 个有 nxn 个方格的方形区域 中收集样本。 (i,j)方格中样本的价值为 v(i, j), 如图所示 Rob 从方形区域 的左上角A点出发,向下或向右行走,直到右下角B点,在走过的路上,收集方格中的样本,Rob从A点到B点共走2次。 试找出 2条行走路径,使其取得的样本总价值最大。输入第 1 行有 1 个正整数 n,表示方形区域 F 有 n*n 个方格。 接下来每行有 3 个整数,前 2 个表示方格位置,第 3 个数为该位置样本价值。最后一行是 3 个 0。82 3 13

2022-05-01 20:57:03 1025

原创 003-3算法笔记【动态规划】习题3-13-最大k乘积问题

最大k乘积问题。问题描述设I是一个n位十进制整数。如果将I划分为k段,则可得到k个整数。这k个整数的乘机称I的一个k乘积。试设计一个算法,对于给定的I和k,求出I的最大乘积。input第一行是n和k,第二行是整数I2 115output最大k乘积15分析cal(i,j)为n位整数I的i到j位拼成的数字,例如I=1234,cal(2,4)=234f[i][j]为数字cal(1,i),划分为j段时的最大乘积和j段最大乘积化为j-1段f[i][j]=max(f[kk][j-1]*c

2022-04-30 16:22:33 371

原创 003-2算法笔记【动态规划】习题3-4-数字三角形问题

数字三角形问题题目给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。573 88 1 02 7 4 44 5 2 6 5输入输入数据的第1行是数字三角形的行数n,接下来n行是数字三角形各行中的数字输出计算出的最大值30分析f[i][j]=max(f[i-1][j-1],f[i-1][j])+triangle[i][j]代码#include<iostream>#include<v

2022-04-30 15:30:27 271

原创 vector的使用

vector初始化// 初始化一个 二维的matrix, 行M,列N,且值为0vector<vector<int>> matrix(M,vector<int>(N));// 初始化一个 二维的matrix, 行M,列N,且值自定义为data;vector<vector<int>> matrix(M,vector<int>(N,data));//直接赋值vector<vector<int>>martix

2022-04-30 14:52:54 102

原创 csapp-C程序中执行机器码

#include <stdio.h>#include <string.h>#include <sys/mman.h>int main() { unsigned char code[] = {// 机器码 0x55, 0x48, 0x89, 0xe5, 0x89, 0x7d, 0xfc, 0x89, 0x75, 0xf8, 0x8b, 0x4

2022-04-24 15:59:36 177

原创 csapp-C程序中执行机器码

#include <stdio.h>#include <string.h>#include <sys/mman.h>int main() { unsigned char code[] = {// 机器码 0x55, 0x48, 0x89, 0xe5, 0x89, 0x7d, 0xfc, 0x89, 0x75, 0xf8, 0x8b, 0x4

2022-04-24 15:11:05 161

原创 csapp-bomblab

phase_1(gdb) disas phase_1Dump of assembler code for function phase_1: 0x08048b90 <+0>: sub $0x1c,%esp;开辟1c栈空间 0x08048b93 <+3>: movl $0x804a1ec,0x4(%esp);用于比较的字符串放到esp+4 0x08048b9b <+11>: mov 0x20(%esp),%eax;

2022-04-24 10:06:46 326

原创 002-1算法笔记【分治】归并排序

#include<iostream>#include<vector>using namespace std;void MergeSort_recur_helper(vector<int>& a,int low,int high);void MergeSort_recur(vector<int>& a){ if(a.size()==0)return; MergeSort_recur_helper(a,0,a.size()

2022-04-24 09:25:25 48

原创 算法分析-二分搜索模板

#include<iostream>using namespace std;template<class Type>int BinarySearch(Type a[], const Type& x, int l, int r){ if (r >= l){ int m = (l+r)/2; if (x == a[m]) return m; if (x < a[m]) retur

2022-04-24 09:23:26 79

原创 002-2算法笔记【分治】-习题2-14-格雷码

//格雷码#include<iostream>#include<cstring>#include<deque>using namespace std;void GrayCode_recur2(int a[],int n){ if(n==1){ a[1]=0; a[2]=1; return; } GrayCode_recur2(a,n-1); for(int k=1<<

2022-04-24 09:22:36 75

原创 002-4算法笔记【递归】-习题2-4-全排列

/**排列问题 * 设计一个递归算法生成10个元素{1,2,…,10}的全排列*/#include <iostream>using namespace std;#define len 10inline void swap(int &a,int &b){ int t=a; a=b; b=t;}//a[begin,end]进行全排列void perm(int a[],int begin,int end){ if(begin==en

2022-04-24 09:21:34 60

原创 002-3算法笔记【分治】-习题2-15球赛日程表

#include "iostream"#include "cmath"using namespace std;//---------------------------------//多边形法//---------------------------------int arr[20][20];int b[20];int odd(int n) //如果是奇数,返回1,否则返回0{ return n & 1;}void construct(int n){ if

2022-04-24 09:20:33 120

原创 004-1算法笔记【贪心】-两个磁带放程序

两个磁带放程序#include<iostream>#include<cstring>#include<vector>using namespace std;const int maxn=100;int A[maxn],B[maxn];//代表T1,T2两个磁带//--------------------//贪心算法//--------------------int suma = 0;int sumb = 0; int posb = 0,pos

2022-04-24 09:00:11 1068 1

原创 003-3算法笔记【动态规划】01背包

01背包#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1010;int f[N][N];//f(i,c),前i个物品,背包容量C,最优解 int w[N];//价值int v[N];//体积int main(){ int n,c; cin>>n>>c; for(in

2022-04-20 15:35:02 392

原创 003-0算法笔记【动态规划】动态规划VS贪心

动态规划:每一步都是全局的最优解qi是问题空间[step1,step2,…stepi]的最优解贪心:只是这一步的局部最优解qi是stepi的最优解,[step1,step2,…stepi]不一定是最优解贪心选择性质:问题的全局最优解可以通过一系列的局部最优解的选择达到最优子结构性质:当前问题的最优解包含了子问题的最优解...

2022-04-19 23:27:37 61

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除