- 博客(23)
- 收藏
- 关注
原创 线段树解析(一)
一、线段树的应用场景1.用于解决区间问题,例如求某个区间的和、最大值、最小值。2.支持的操作有单点修改、区间修改、区间查询。二、线段树线段树的核心思想在于:1.线段树的每个节点预先维护好所对应区间所需要的信息。2.对于一次查询,将询问区间[L,R]拆分到线段树对应的节点上,通过合并这些节点已经处理好的信息快速得到答案。3.对于一次单点修改、将其对应的叶子节点到根的所有节点信息更新。三、线段树代码以下代码以求区间的最小值为例1.建树void build(int x
2020-08-02 21:06:11
394
原创 socket编程入门篇(七)
这篇博客介绍使用epoll反应堆实现并发服务器。下面贴服务端代码:#include <stdio.h>#include <sys/socket.h>#include <sys/epoll.h>#include <arpa/inet.h>#include <fcntl.h>#include <unistd.h>...
2019-06-18 16:24:47
324
原创 socket编程入门篇(六)
这篇博客介绍使用epoll函数实现并发服务器。服务端代码:#include <sys/socket.h>#include <sys/epoll.h>#include <sys/sendfile.h>#include <sys/wait.h>#include <sys/stat.h>#include <netine...
2019-06-17 20:35:17
431
原创 socket编程入门篇(五)
这篇博客介绍使用poll函数实现并发服务器。下面贴代码#include <stdio.h>#include <sys/socket.h>#include <stdlib.h>#include <string.h>#include <sys/select.h>#include <sys/time.h>#in...
2019-06-17 20:08:41
279
原创 管道的示例程序
这篇博客介绍管道的基本操作。#include <iostream>#include <unistd.h>#include <errno.h>#include <sys/epoll.h>#include <cstdio>#include <cstdlib>#include <cstring>us...
2019-06-16 21:28:25
294
原创 socket编程入门篇(四)
本篇博客介绍如何用select函数实现并发服务器。下面贴代码:服务端代码#include <stdio.h> #include <unistd.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/socket.h>...
2019-06-15 11:06:10
223
原创 socket编程入门篇(三)
这篇博客介绍多线程并发服务器的实现。下面贴代码。服务端代码#include<stdio.h>#include<stdlib.h>#include<sys/socket.h>#include<string.h>#include<errno.h>#include<netinet/in.h>#include...
2019-06-14 19:55:51
190
原创 socket编程入门篇(二)
这篇博客介绍多进程并发服务器的实现。先贴代码服务器端的代码:/************************************************************************* > File Name: multi_process_server.c > Author: xuchen_allen > Mail: xuchen_al...
2019-06-14 19:48:54
320
原创 socket编程入门篇(一)
先贴代码:服务端代码:#include <Winsock2.h>#include <iostream>int main(int argc, char* argv[]) { WSADATA wsaData; WORD sockVersion = MAKEWORD(2, 2); if (WSAStartup(sockVersion, &wsaDat...
2019-06-11 20:48:11
3026
原创 tvm 入门(一)
这篇博客主要介绍环境的搭建。1.安装cuda和cmake,这个部分网上相关的教程很多。2.安装llvm。llvm的版本号在4.0到6.0之间。下载llvm源码。链接: https://pan.baidu.com/s/1VtQeUnrj11PG6G8UGWX1gA 提取码: ikgr 。解压该压缩文件。tar xvJf llvm-6.0.0.src.tar.xz。mkdi...
2019-05-25 23:46:36
3586
原创 tvm 入门(二)
代码是一个tvm入门的例子。以向量相加为例。使用tvm的流程是:1.描述串行的向量相加是怎么做的2.描述并行的时候,怎么对计算单元做划分3.编译目标函数。本文所示代码可以看到用tvm生成的cuda代码。4.把编译生成的内容保存成文件,加载该文件做高性能计算。(可选)"""Get Started with TVM====================**Aut...
2019-05-24 21:44:41
2710
转载 使用CuDNN进行卷积操作的例子
代码如下:代码的详细解释见http://www.goldsborough.me/cuda/ml/cudnn/c++/2017/10/01/14-37-23-convolutions_with_cudnn/这个程序是一个求图像边缘的例子。环境vs2013+cuda8。一开始老是报识别不了cudnnCreate的错误。这是因为配置的库没有把cudnn.lib加进去。#inc...
2019-05-23 19:23:54
2228
1
原创 cuda 入门--向量相加
文件名为main.cu#include<stdio.h>#include<iostream>// 两个向量加法kernel,grid和block均为一维__global__ void add(float* x, float * y, float* z, int n){ // 获取全局索引 int index = threadIdx.x + b...
2019-05-09 21:38:55
821
原创 leetcode 刷题篇
1.https://leetcode-cn.com/problems/01-matrix/第一题0-1矩阵解法1:BFS解法2:DP。dp的做法思路较巧妙,关键点在于二次遍历。2.https://leetcode-cn.com/problems/132-pattern解法:最小栈。以2,4,2,3,5为例。从后往前遍历,构建最小栈。5入栈3入栈2入栈然后...
2019-04-29 19:33:59
430
原创 win10 Ubuntu18.04双系统安装
折腾了一整天,来写个帖子记录一下安装过程中遇到的问题。1.下载ubuntu18.04和rufus,制作u盘启动盘。注意不要使用ultriso,很多帖子记录使用ultriso会出问题。2.在bios中记得关闭secure boot。u盘启动盘制作好以后就可以重启电脑,开始安装ubuntu。这个时候进去安装会卡死。因此选中install ubuntu 选项然后按e键。按e键进行编辑,在倒数第二...
2018-09-24 13:11:23
384
原创 debian 系统配置网易镜像源
1.wget http://mirrors.163.com/.help/sources.list.jessie2.sudo vim /etc/apt/souces.list编辑/etc/apt/sources.list文件,将sources.list.jessie内容拷贝过去。
2018-09-08 10:52:08
1775
转载 关于C/C++左移右移运算符的总结
(1)结合图示篇,更加简单明了。移位运算包含“逻辑移位”(logical shift)和“算术移位”(arithmetic shift)。逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。 c++中,整数分有符号数和无符号数两种,对于这两种数做左移、右移运...
2018-09-02 11:23:38
85339
4
原创 VS2013 编译OPENCV2.4.13 win10
1.下载Cmake3.7并安装好.可通过官网或者通过百度云链接:https://pan.baidu.com/s/10LbbBHWhnLysgJYHp5ZNUw2.下载OPENCV2.4.13源码。3.打开cmake-gui.exe.如下图所示,在where is the source code 一栏选择自己的源码所在文件夹。我的地址是F:\opencv-2.4.13\opencv-2.4....
2018-08-29 14:14:02
742
原创 VS2013官方下载地址
https://my.visualstudio.com/Downloads?q=visual%20studio%202013&wt.mc_id=o~msft~vscom~older-downloads
2018-08-14 10:33:03
23023
原创 OPENCV Mat的数据类型
1.opencv中Mat存在各种类型,其中mat有一个type()的函数可以返回该Mat的类型。类型表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)。具体的有以下值: 2.注意在用at运算符访问Mat时,需特别注意数据类型。3.很坑的一点,opencv的imread函数即使读入的原图片是灰度图,默认会把Mat变成三...
2018-07-30 12:57:11
3598
1
原创 把本地代码上传到github
1.安装好git,配置环境变量。在系统变量Path中新建一条E:\softwareinstall\Git\Git\bin。2.打开cmd,cd到要上传的工程目录下。3.在cmd window中输入git initgit add .git commit -m "first commit"//注意输git commit 会报错。4.去github上创建自己的Repository...
2018-07-27 11:16:40
140
转载 surf特征做图像拼接
#include "highgui/highgui.hpp" #include "opencv2/nonfree/nonfree.hpp" #include "opencv2/legacy/legacy.hpp" #include <iostream> using namespace cv;using namespace std;void Optimize...
2018-06-28 11:27:59
1195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人