自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 asio异步库

异步,即线程提交io请求后直接返回,事件完成后再进行通知。在不同的操作系统中有不同的事件监听机制,linux采用epoll,windows采用iocp,unix采用kqueue。Asio使用前摄器模式(proactor),通过宏来实现在各个不同的平台上调用不同的底层实现。注:(以下对于asio相关描述均基于linux系统)Asio只提供一种异步的机制,内部维护队列op_queue(线程安全),符合生产者消费者模型。一年前写的了,不知不觉过了这么久,想了想还是发出来,算是自己曾经阅读的痕迹。

2023-06-03 17:54:01 783 1

原创 关于工具trinity:syscall测试

syscalltrinity

2022-12-09 17:54:39 309

原创 vs2017编译vs2013的duilib

vs将自动升级平台工具集到v141。

2020-07-25 21:41:56 329

原创 c++ windows下基于TCP的socket编程 入门

服务器端:socket() ——创建1个socketbind() ——绑定IP地址、端口号等信息到socket上listen() ——监听,设置允许最大连接数accept() ——接受客户端的请求连接send() 和 recv() / read() 和 write() ——收发数据closesocket()——关闭网络连接//服务器 server.cpp#define _WINSOCK_DEPRECATED_NO_WARNINGS //inet_ntoa()函数已经过期

2020-07-06 12:28:01 1133 1

原创 c++滑动窗口最大值

前提:数组长度为n,窗口大小为k。暴力的时间复杂度是O(nk) vector<int> comp(vector<int> v) { vector<int> ans; for(int i = 0; i+1 < v.size(); i++) ans.push_back(max(v[i],v[i+1])); return ans; } vector<int> m

2020-07-04 18:33:46 454

原创 字符串 三级指针

#include<bits/stdc++.h>int main(){ char *c[]={"HELLO","NEW","WORLD","SAYHI"}; char **cp[]={c+3,c+2,c+1,c}; char ***cpp = cp; printf("%s",**++cpp); printf("%s",*--*++cpp); printf("%s",*cp...

2020-03-29 16:08:28 357

原创 pygame-飞机大战

运行效果图:import pygameimport randomimport timeimport osfrom os import pathWIDTH = 480HEIGHT = 600FPS = 60#每秒显示多少帧POWERUP_TIME = 5000COLOR = (255,174,200)WHITE = (255,255,255)BLACK = (0,0,...

2020-03-08 21:38:47 247 1

原创 C++: const和指针

1.将变量的地址赋给指向const的指针此时,可以通过num修改值,不能用指针p去修改变量的值。int num = 10;const int * p = &num; //p指向const int,*p的值不能被修改 (即不能用p修改num)num = 15; // num是变量,这样是可以修改的2.将const变量的地址赋给指向const的指针此时,不能通过num来修改值...

2020-02-15 00:30:40 198

原创 getline()与get()

1.getline()getline() 函数读取整行,通过换行符来确定输入结尾。然后丢弃换行符。//1.作为istream中的类方法char name[20];cin.getline(name,20);//把一行读入到name数组中,这行字符不超过19个//2.使用string类中的一个友元函数string str;getline(cin,str);2.get()get(...

2020-02-11 22:47:23 155

原创 图的基础定义

连通分量:相互可达的结点称为一个连通分量割顶:删除某个点后,使图不再联通桥:删除某个边后,使图不再联通双连通:任意两点之间至少存在两条“点不重复”的路径(此时内部无割顶)双连通分量:点-双连通的一个极大子图(BCC)边-双连通分量:边-双连通的一个极大子图...

2018-12-04 20:24:57 165

转载 堆——二叉树

堆——特殊的完全二叉树最大堆:父结点大于子结点最小堆:父结点小于子结点最小堆的较大数下移://最小堆的向下调整 #include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;int h[11]={0,1,6,34,77,213,279,311,333,345,567};int n=10;//传入一个需要向下调整的结点编号i,这里传入1,即...

2018-11-20 19:04:34 354

原创 p1m2(二分)

题目2018百度之星 http://acm.hdu.edu.cn/showproblem.php?pid=6383二分操作次数满足有序性,用二分。代码#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;iostream&gt;using namespace std;int a[300005];in...

2018-08-19 10:47:04 288

原创 Delivery Service(LCA倍增+差分)

题目网址https://acm.ecnu.edu.cn/problem/3631/LCA倍增倍增利用了二进制的特性;LCA为求公共祖先。 利用倍增的典型算法还有RMQ。题目代码#include&lt;cstdio&gt;#include&lt;vector&gt;#include&lt;string&gt;#include&lt;cstring&gt;#inclu...

2018-08-14 18:53:28 741

原创 Channel On Live(离散化)

题目网址:https://acm.ecnu.edu.cn/contest/103/problem/C/离散化:1.unique函数:c=unique(t+1,t+1+n)-t-1; 此为去重函数,12335去重后为12355,即去掉重复的,后面的不变 c记录的是去重后,数组的不重复长度,即4 2. lower_bound函数:pos1= lower_bound(b+1,b...

2018-08-13 09:26:32 300

原创 归并排序 (递归)

归并排序:-采用分治法(divide-and-conquer) 分治法将问题分(divide)成一些小的问题然后递归求解, 而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之 -递归+合并即为归并递归void mergearray(int a[],int first,int mid,int last,int temp[]){...

2018-08-10 10:53:40 139

原创 全排列

举例123的全排列:123,132,213,231,321,312 全排列的个数为 n!STL 实现 char s[50]; cin&gt;&gt;s; int k=strlen(s); sort(s,s+k); cout&lt;&lt;s&lt;&lt;endl; while(k--){ next_permutati...

2018-08-10 10:52:54 210

原创 莫队算法(区间查询)

适用情况1.只查询,不修改 2.已知 [ L, R ] 的答案,可在O(1)时间内求出 [L,R-1] , [L,R+1] , [L-1,R] , [L+1,R] 3.该算法复杂度为 O(n*sqrt(n) )分析思路由上知,计算 [ L‘,R’ ] 的时间为 | L-L’|+| R-R’|,将询问看作点,则所用时间即为两点的曼哈顿距离。若按顺序计算,每个询问都看成一个点,则...

2018-08-09 10:26:44 583

原创 排序

桶排序快,简单,但是浪费空间memset(num,0,sizeof(num));for(int i=1;i&amp;lt;=n;i++){ scanf(&quot;%d&quot;,&amp;amp;t); num[t]++;}for(int i=1000;i&amp;gt;=1;i--) for(int j=1;j&amp;lt;=a[i];j++) { printf(&quot;%

2018-08-03 16:26:17 155

空空如也

空空如也

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

TA关注的人

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