- 博客(87)
- 资源 (1)
- 收藏
- 关注
原创 多继承&vs查看类结构
类C里面可以重写所有继承到的虚函数(类A、类B里面的虚函数)类A有两个虚函数,类B重写了其中一个,类C重写了两个;可以看到类的继承与派生关系。
2023-10-18 20:18:41
380
原创 二维空间 点绕点旋转公式
点A绕点B顺时针旋转贝塔角度 贝塔>阿尔法。点A绕点B顺时针旋转贝塔角度 贝塔<阿尔法。记录一下 点绕点旋转公式的推导。点A绕点B逆时针旋转贝塔角度。
2023-09-25 23:26:37
488
原创 优先队列的第三个参数的实际含义,为什么less对应大顶堆,greater对应小顶堆;
因此,不难理解 less < 对应大顶堆了,当父结点小于子结点的时候,会进行交换,从而将大的值转换到父结点,从而堆顶就是最大元素了;priority_queue传入的第三个参数是仿函数,是将新插入数据与父结点进行比较,使用仿函数:if (com(_con[child] , _con[parent]))堆的本质是二叉树,堆排序就是将树的父结点与子结点进行比较、互换的结果;堆排序:就是将容器里面的数据按照堆特征进行排序;大顶堆,父结点比子结点大,所以堆顶是最大的;小顶堆,父结点比子结点小,所以堆顶是最小的;
2023-06-29 00:30:42
790
原创 【无标题】
当应用程序建立一个RTP会话的时候,会确定1个目的传输地址,以及 1对端口,一个端口用于接收/发送RTP包,另一个端口用于接收/发送RTCP包,一直有这个疑惑,公司的rtp数据包被前端添加了一个 0x887766550300 的头,因此可以快速确定;当应用程序开始一个RTP会话时,将开启两个端口:一个给RTP,一个给RTCP。RTP包头最少12字节,其中 PT 表示载荷类型,timestamp 时戳占32位,必须是90kHz时钟频率。RTP位于传输层,用于实时数据的传输工作,一般使用UDP传送数据。
2023-06-11 21:01:11
1579
原创 h.264 h.265 协议基本概念记录
VPS(视频参数集)NALU的头值为0x4001(十六进制),取出2-7位(40 & 0x7E)>>1 =32(十进制)SPS(序列参数集)NALU的头值为0x4201(十六进制),取出2-7位(42 & 0x7E)>>1 =33(十进制)PPS(图像参数集)NALU的头值为0x4401(十六进制),取出2-7位(44 & 0x7E)>>1 =34(十进制)启始码+VPS+启始码+SPS+启始码+PPS+启始码+SEI+启始码+I帧+启始码+P帧+启始码+P帧+…2到7位表示nalutype。
2023-06-11 09:20:19
1226
原创 algorithm2e笔记,记录一下常规操作
先贴一张图片:记录一下这几种用法:1 常规示例代码及包导入;在下载完Aurora、MikTex之后,打开Word,Aurora -> Inline Equation-> Propertity 导入algorithm2e包,中括号代表一些配置,详见algorithm2e.pdf-7.1节\usepackage[ruled,boxed,commentsnumbered]{algorithm2e}然后键入常规示例\SetKwRepeat{Do}{do}{while}%\begi
2022-01-10 14:53:28
2027
原创 记录一种CUDA常见错误情景:结果随机
最近需要将之前的CUDA优化代码复盘,得到每一种优化下的加速比,因此,每一次优化后需要对比C,CUDA的结果,赶巧不巧,遇上了这么一种情况:核函数功能 :核函数D_SDF1_SRC1_MultiChan需要在一个Block中完成多路的执行,因为可以共用数据,利用共享内存提供更快和更少次数的内存访问;其Block图如图所示:于是希望在每一行的Thread中取不同的常数,使用threadIdx.y作为标识:__global__ void SRC1Kernel_MultiChan(short *d_sr1
2021-12-14 13:31:34
2676
原创 宏定义统计语句执行时间
最近写毕业论文的程序,发现了一种更加优雅的统计时间方法,记录一下chrono主要利用<chrono>这个时间库来实现,里面包含三种时钟:system_clock: 起点是1970-01-01 00:00:00 UTCsteady_clock: 起点是系统启动时间,一般用于得到时间间隔high_resolution_clock:高分辨率的版本本次使用system_clockcodeRD.h#include<iostream>#include <chrono
2021-11-27 23:53:35
704
原创 FFTW cuFFT的使用记录
好久没写点什么东西了,今天饶有兴趣,总结一下FFTW、cuFFT的调用方法。一些知识点的回顾弄懂了FT、DTFT、DFT三者之间的关系傅里叶变换(Fourier Transform,FT),表示能够将一定条件的某个函数表示为三角函数或者它们的积分的线性组合。从连续域到连续域。离散时间傅里叶变换(Discrete-time Fourier Transform,DTFT),表示将以离散时间nT作为变量的函数变换到连续频域,频谱会周期延拓。离散傅里叶变换(Discrete Fourier Transfo
2021-10-31 20:55:57
2165
10
原创 记录一个奇怪的问题:vscode C++扩展更新后,无法命中断点
昨天在做美团笔试的时候,发现我的vscode无法进行调试,一直找不到原因,后来索性将mingw64重新下载,删掉之前的,然后卸载与C++相关的扩展,解决了。然后今天发现又不行了,我一看,原来是这个扩展更新了,回退到上一个版本,问题解决,难道是这个扩展出现了bug?...
2021-08-16 17:23:24
319
3
原创 二叉树的构造总结 :前序+中序、中序+后续
文章目录前序+中序:中序+后序从前序与中序遍历序列构造二叉树从中序与后序遍历序列构造二叉树这两道题都是二叉树的构造,二叉树有三种遍历方式:前序:根左右中序:左根右后序:左右根 前序+中序得到完整的二叉树,首先由前序确定根结点的值,然后在中序序列中,找到根结点的位置,由此确定左子树的长度,进而可以递归得到完整的二叉树 同样,中序+后序也可以得到完整的二叉树,首先由后序遍历确定根结点的值,然后找到根结点在中序序列中的位置,确定左子树的长度,进而递归得到完整的二叉树这里面有两个地方
2021-07-26 15:35:31
450
原创 总结:动态规划(3)完全背包&&面试背包问题总结
文章目录完全背包518 零钱兑换II377 组合总和 Ⅳ70 爬楼梯322 零钱兑换279 完全平方数139 单次拆分多重背包总结完全背包完全背包和01背包的区别就是物品是否可以重复选取有N件物品和⼀个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。物品都有无数个,问将哪些物品装入背包里,物品价值总和最大?在01背包里面,如果使用滚动数组,对遍历顺序有要求,必须先遍历物品,再遍历背包,并且遍历背包需要从大到小,防止物品被重复添加;在完全背包里面,对于遍
2021-07-12 16:31:58
489
原创 总结:动态规划(2)01背包变形
文章目录01背包变形传统思路添加附件后的转换完整代码01背包变形华为机试HJ16购物单这一道题,有年终奖N,需要购买商品,商品有价格v[i],重要度p[i] ; 与一般的01背包不同的是,商品还含有附件,每个主件可以有0个、1个或2个附件,购买附件的话就需要购买主件(确实,不然我买这个干嘛呢?)传统思路 如果,不考虑附件,那么就是一个传统背包问题,总金额为N,物品价格为v[i],dp[i][j]表示在下标[0,i]中选取商品得到的最大满意度,满意度=价格*重要度;那么,就是:dp[i][
2021-07-08 19:58:44
306
原创 总结:动态规划(2)01背包
文章目录动态规划01背包01背包 二维数组01背包 滚动数组416 分割等和子集494 目标和474 一和零动态规划01背包01背包 二维数组有N件物品和⼀个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每 件物品只能⽤⼀次,求解将哪些物品装⼊背包⾥物品价值总和最⼤。暴力解法 :很多题目上来,应该先看看暴力解法,暴力解法代表了最顺畅的思路,在此基础上才延伸出其他巧妙地解法。本题每件物品有两种状态:选、不选,那么可以通过回溯法,列出所有可能的组合,计
2021-07-08 15:53:26
207
原创 总结:动态规划(1) 基础题型,动规五部曲
文章目录动态规划基础题509 fibonacci70 爬楼梯746 使用最小花费爬楼梯62 不同路径63 不同路径II343 整数拆分96 不同的二叉搜索树动态规划动规五部曲:确定dp数组以及下标含义;确定递推公式;dp初始化;确定遍历的顺序;举例推导dp数组;基础题509 fibonacci确定dp数组以及下标含义; dp[i]表示第i个fibonacci数确定递推公式;dp[i]=dp[i-1]+dp[i-2]dp初始化;dp[1]=0,dp[2]=1确定遍历的顺序;从1
2021-07-07 14:16:02
752
3
原创 windows subsystem for linux
文章目录WSL的安装1 Enable the Windows Subsystem for Linux2 Check requirements for running WSL 23 Enable Virtual Machine feature4 下载Linux内核更新包并安装5 Set WSL 2 as your default version6 Install your Linux distribution of choice7 从WSL升级到WSL2vscode安装插件 Remote - WSL更换国内镜
2021-06-25 20:57:17
2600
2
原创 ~查缺补漏~ [SCons /namespace /
目录SCons命令空间namespaceSCons简书总结官方文档 Python写的自动化构建工具,类似于GNU make,实际中项目的代码量经常动辄几百万行,编译一次需要很久的时间,所以这种自动化构建工具就出现了,其实就是代替了我们手动去使用命令行编译代码,然后,遇到代码文件没有改动的情况下,就只重新编译发生了变化的文件,可以极大地缩小编译的时间。 scons由Sconstruct作为入口,控制如何进行编译操作,相当于是一个python文件,遵从python的语法。Program("hel
2021-06-20 17:15:16
149
原创 取余还在用%?
最近碰到了一种取余的方式,采用位运算:if(k % 2 ==1) //Badif(k & 0x01) //Good刷一道题目,试一试效果,可能不太严谨class Solution {static bool camp(int a,int b){ return abs(a)>abs(b);}public: int largestSumAfterKNegations(vector<int>& nums, int k) {
2021-06-10 23:48:53
128
原创 Linux入门&Shell语法
文章目录Linux入门&Shell语法Shell传递函数Shell运算符算数运算符chmod 777 file 改变文件的读写权限chmod +x file 改变文件的执行权限关系运算符布尔运算符逻辑运算符字符串运算符文件测试运算符Shell echo 命令Shell printf 命令Shell testLinux入门&Shell语法最近开始实习,所在组基于Linux进行开发,这逼迫自己补补Linux的漏洞,发现这个网站特别好用,基本上该有的都有,后续可以做一个参考,这篇记录一下学习过
2021-06-06 21:36:58
358
原创 static的作用?
对于全局变量,改变它的作用域,使其只能在本源文件里面使用最开始,在头文件里面定义一个全局变量,然后在main里面,extern 声明,结果报错了//Header.h#pragma onceint num = 0;//Header.cpp#include"Header.h"//main.cpp#include <iostream>using namespace std;extern int num;int main(){ cout << num <.
2021-05-31 21:30:08
110
原创 总结:回溯法-组合问题
刷题总结回溯法组合问题力扣77回溯法跟着一个很厉害的**博主(代码随想录)**的文章进行总结。回溯本质上还是遍历搜索,可以用于解决组合、分割、子集、排列、棋盘问题等等,里面有一句总结的非常到位:for表示横向搜索,递归表示纵向搜索;组合问题力扣77典型的组合问题,可以采用典型的解决方法;思路就是,固定一位,然后在余下的里面固定另一位;记录一下这里的一个错误,就是在最后退出的时候,最开始没有想清楚,手动clear了ans,导致了越界错误;因为我们是首先挑选一位放到ans,然后在余下的数里面
2021-05-31 20:43:55
987
原创 归并排序、求逆序对(offer51)
本题求数组中的逆序对,很自然的想到了两层for循环,然而困难题,一定超时!在评论区看到了一种利用归并排序“治”的过程,顺带将逆序对求出来了,记录一下,顺便将归并排序和快排做一个比较。目录归并排序cpp实现与快速排序进行比较快速排序cpp实现归并排序正如图所示,归并排序是将原数组不断的划分,然后开始合并,有点二分法的意思;到只剩一个元素的时候,开始合并,将小的有序数组合并为大的有序数组恰好,这个合并的时候,如果加一个比较的步骤,就可以求出逆序对的个数,例如:原本的数组是:【7,3,2,6,0,.
2021-05-28 15:10:13
227
原创 又学到一种结构:前缀树!
前缀树:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 正好今天力扣每日一题遇上了,查缺补漏,安排上! 个人对前缀树的理解就是:不多写一个字母!!!比如你要存储word和world,那么最终集合里面在r的后面就开始分叉,一条路指向d,另一条路指向ld;实现分析假如我们存储的是
2021-04-14 21:40:57
167
原创 lambda表达式的入门学习
之前刷题的时候,一直会看见自定义sort的做法,一般的形式是,重新写一个bool的函数,然后作为参数传递给sort函数,但有时候,也会看见,直接传进去一个lambda表达式,比如以下的形式sort(myStr.begin(),myStr.end(), [](string &a,string &b){ return (a+b)>(b+a); });文章目录lambda表达式的一般形式捕获列表参数列表返回
2021-04-13 21:18:57
165
原创 sort的自定义使用
目录sort的自定义compare用法官方提供的四种comp比较函数结构体的比较1 重写比较函数comp2 结构体内重载运算符3 结构体外重载运算符测试sort的自定义compare用法 之前想要降序排列的时候,总是首先sort,然后reverse,感觉很鸡肋,今天从力扣评论区发现,原来sort可以直接逆序使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高;传入的参数类型和需要排序的数据类型一致;functional提供了一堆基于模板的比较函数对象:equal_t
2021-03-31 11:02:23
770
原创 十进制转26进制 && 生成等概率事件
下午面试了依图科技,感觉最后一个题目没有发挥好,辜负了面试老师百般引导目录1 十进制转26进制完整代码1 十进制转26进制 最开始,没有处理好进位的问题,对于非26的整数倍,都是可以打印出来的,然后如果是26的整数倍,那么就会有问题;void Dto26(const int& aa){ int a=aa; stack<int> ret; while(a){ int c=a%26; ret.push(c);
2021-03-25 23:33:23
186
原创 LRU缓存机制&分割回文串
文章目录1 LRU缓存机制完整代码2 分割回文串1 LRU缓存机制Least Recently Used,最近最少使用法则,如果容器的容量为N,那么容器里面总是保存最近使用的N个数据 设计实现LRU缓存机制,支持put操作,get操作(不存在就返回-1),要求时间复杂度为O(1);思考:首先由时间复杂度O(1),可以想到我们可能需要使用数组以及哈希表;然后我们需要根据数据的使用频率来调整数据,在适当的时候删掉最不经常用的数据,那么我们可能就需要一个支持双向的容器(deque、list); 我们
2021-03-19 17:24:09
189
原创 理解回溯后感觉八皇后不过如此
听师兄说,去年面试华为,上来就让手撕八皇后,结果师兄二话不说搞定,直接30W+,慕了!八皇后问题就是在一个8x8的棋盘上面放置8个棋子,每个棋子的上、下、左、右、左上、左下、右上、右下8个方向不能有其他的皇后。之前看着一道题的时候,感觉十分麻烦,总感觉细节太多了,然后只知道大的层面用一个dfs(by the way,个人理解,回溯是算法思想,DFS更多是实现工具,最根本的实现方法是递归)基本思路: 可以认为的控制一行一行的进行皇后放置,首先在第一行进行放置,然后在第二行进行放置…,最后每一行都.
2021-03-16 22:05:16
126
1
原创 LeetCode 8 字符串转数字 细节之处总结
总结,本题需要注意的细节之处有以下几点:1 字符如何转换为数字?2 如何在不使用long数据的情况下,判断数据是否溢出?1 字符如何转换为数字?可以直接使用字符char-‘0’得到对应的数字,然后乘10累加 int tmp=(s[i]-'0'); Ans=Ans*10+tmp;2 如何在不使用long数据的情况下,判断数据是否溢出? 由于int可表示的范围是[-231 ,231-1] 也就是[-2147483648 ,2147483647]我们可以通过比较当前值Ans与231/10的.
2021-03-15 20:47:17
152
原创 20210313美团笔试总结
总结:听同学说,只要提交了有AC百分之多少,就会有相应的分数,下次一定要及时提交,然后再优化使其达到AC100%;对于输入输出的操作还不太熟悉,这也难怪,之前都是使用LeetCode,突然转换到类似牛客的这种方式,不太习惯总共5道编程题,其实不用太赶,第一次过于谨慎,过于紧张了一共5道题目1数组对称输出2打印字符串中的数字,并排序3数组里连续k个数,ai、ai+1、...ai+k-1,的众数1数组对称输出#include<iostream>#include<vector&
2021-03-14 16:31:01
985
.vscode.rar
2020-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人