自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 问答 (1)
  • 收藏
  • 关注

原创 redis 分布式缓存、主从集群

2

2023-02-16 00:54:15 436 3

原创 redis五大IO网络模型、内存回收

1

2023-02-15 22:45:59 1975

原创 redis五大数据结构

1

2023-02-15 21:04:42 4528 1

原创 HTTPS

目录HTTP1.0 与HTTP1.1的区别默认持久连接管道机制分块传输数据状态码 100 ContinueHost 域HTTP2.0 相对HTTP1.1在性能上的改进Get 和 Post 的区别POST过程中的 100 continueHTTP常见请求方法HTTP请求流程HTTP返回码HTTP和HTTPS的区别混合加密摘要算法数字证书HTTPS如何保证信息可靠SSL握手过程HTTPS的加密方式RSA算法cookie 和 session的区别ping得通,但是浏览器访问不成功。HTTPS加密HTTP1.0

2022-04-27 19:02:27 1229

原创 有趣的实验

web服务器服务器端初始化,socket版本调用socket创建一个套接字(应用层和传输层的接口)调用bind函数绑定套接字,指定绑定的IP地址和端口号调用listen函数使服务器监听状态,使套接字变为可接受请求状态(可被动链接)调用accept函数等待客户端的连接请求recv,send接受/发送数据send()(1)第一个参数指定发送端套接字描述符;(2)第二个参数指明一个存放应用程序要发送数据的缓冲区;(3)第三个参数指明实际要发送的数据的字节数;(4)第

2022-04-27 17:16:52 2530

原创 计算机网络

目录http中浏览器一个URL的流程,这个过程中浏览器做些什么,URL包括哪三个部分域名解析本机如何得知DNS服务器地址?七层OSI及各层网络协议各层网络设备tcp三次握手什么是SYN洪泛攻击及解决?(三次握手机制有什么问题?)如果已经建立了连接,但是客户端突然出现故障了怎么办?为什么不采用“两次握手”建立连接呢?TCP四次挥手为什么连接的时候是三次握手,关闭的时候却是四次握手?为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?三次握手如果第三次ack包丢失怎么办保

2022-04-27 17:07:44 2705

原创 操作系统OS

目录大端小端规则判断磁盘调度算法1. 先来先服务(FCFS)2. 最短寻道时间优先(SSTF)3. 电梯扫描算法(CSCAN)计算机的启动过程用户态和内核态为什么要区分用户态和内核态如何从用户态进入内核态系统调用的过程进程与线程几种典型的锁大端小端规则判断大端模式: 指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中小端模式: 指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中为什么会有大小端之分呢?因为在计算机系统中,我们以字节为存储单元,每个地址单元都对应着一

2022-04-26 23:31:41 240

原创 C++++

目录staic(修饰的数据成员存储在全局数据区)内联函数 inlinestaic(修饰的数据成员存储在全局数据区)(1)隐藏。 修饰全局变量时,表明一个全局变量只对定义在同一文件中的函数可见。 (静态函数/静态全局变量不能被其他文件所用;其他文件可以定义相同名字的函数,不会发生冲突)(2)修饰局部变量时,表明该变量的值不会因为函数终止而丢失。(保持变量内容的持久)存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和 static 变

2022-04-25 23:02:12 1577

原创 Lua的class用法

Lua的class用法

2023-06-21 09:56:19 255

原创 mysql Innodb、索引、锁、视图

SQL

2023-02-17 00:02:42 219 1

原创 mysql SQL方面

SQL

2023-02-17 00:00:25 153

原创 【图形学】【LearnOpenGL 】【2.你好,三角形】

【代码】【图形学】【LearnOpenGL 】【2.你好,三角形】

2022-11-08 20:17:57 83

原创 【图形学】【LearnOpenGL 】【1.你好,窗口】

【代码】【图形学】【LearnOpenGL 】【1.你好,窗口】

2022-11-08 15:53:41 117

原创 2022CCPC桂林

【代码】2022CCPC桂林。

2022-11-01 10:20:59 294

原创 【题目】 乘积末尾至少有X个0

【代码】【题目】 乘积末尾至少有X个0。

2022-10-28 15:20:46 633 1

原创 sssssss

状态同步是指包含增量状态同步、RPC(事件同步)两种同步手段,并且可以在各个端传递任何游戏信息(包括输入)的一种同步方式。

2022-10-24 16:18:08 607

原创 2022年ACM四川省赛A

2022年ACM四川省赛A

2022-10-10 11:19:17 515 1

原创 Mysql八股

从数据库架构的角度:SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果在设计不良的程序中忽略了检查,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。SQL 注入的原理1)恶意拼接查询2)利用注释执行非法命令3)传入非法参数4)添加额外条件避免在使用参数化查询的情况下,数据库服务器不会将参数的内容视为 SQL 语句的一部分来进行处理,而是在数据库完成SQL 语句的编译之后,才套用参数运行。因此就算

2022-07-09 00:30:53 260 1

原创 MySQL

root -h 127.0.0.1 -u root -p输入密码creat datebase xxx先 use到数据库CREATE TABLE id INT(1),xx varchar(2));ALTER TABLE [修改选项]{ ADD COLUMN | CHANGE COLUMN | ALTER COLUMN { SET DEFAULT | DROP DEFAULT }| MODIFY CO

2022-07-08 00:15:59 218

原创 静态网页服务器

客户端连接到Web服务器一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认80)建立一个TCP套接字连接发送HTTP请求通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行,请求头部,空行和请求数据4部分组成。服务器接受请求并返回HTTP响应Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行,响应头部,空行和数据4部分组成释放连接TCP连接若connection模式为close,则服务器主动关闭TCP连

2022-06-13 14:46:59 204

原创 Select工作流程

fd_set是一个SOCKET队列,以下宏可以对该队列进行操作:FD_CLR( s, *set) 从队列set删除句柄s;FD_ISSET( s, *set) 检查句柄s是否存在与队列set中;FD_SET( s, *set )把句柄s添加到队列set中;FD_ZERO( *set ) 把set队列初始化成空队列.Select工作流程1:用FD_ZERO宏来初始化我们感兴趣的fd_set。也就是select函数的第二三四个参数。2:用FD_SET宏来将套接字句柄分配给相应的fd_set。如

2022-04-28 13:06:03 322

原创 Linux

Linux1l2l3#############1231

2022-04-28 13:01:00 94

原创 多线程。。epoll

目录五种IO模型什么是同步io什么是异步ioselect() poll() epoll() 区别EPOLL可监听的事件类型讲一下LT和ET的区别epollET模式中的epolloneshotepoll主要解决了这些问题:硬链接和软链接的区别五种IO模型Unix io存在五种模型阻塞式IO应用进程被阻塞,直到数据从内核缓冲区中返回进程缓冲区才返回非阻塞式IO进行系统调用后,内核返回一个错误码,进程不断轮询查看io是否完成IO复用使用select,poll,epoll等待处理数据,并

2022-04-28 12:52:36 1710

原创 用C语言实现C++的继承

#include <iostream>using namespace std;//C++中的继承与多态struct A{ virtual void fun() //C++中的多态:通过虚函数实现 { cout << "A:fun()" << endl; } int a;};struct B :public A //C++中的继承:B类公有继承A类{ virtual void fun() //C++中的多态:通过虚函数实现(子类的关键字virtu

2022-04-26 23:28:03 302

原创 比较大小的模板函数

#include<iostream>using namespace std;template<typename type1, typename type2>//函数模板type1 Max(type1 a, type2 b){ return a > b ? a : b;}int main(){ cout << "Max = " << Max(5.5, 'a') << endl;}

2022-04-26 23:24:30 451

原创 如何获得结构成员相对于结构开头的字节偏移量

如何获得结构成员相对于结构开头的字节偏移量使用<stddef.h>头文件中的,offsetof宏。#include <iostream>#include <stddef.h>using namespace std;struct S{ int x; char y; int z; double a;};int main(){ cout << offsetof(S, x) << endl; // 0 cout <&lt

2022-04-26 23:09:26 157

原创 C++的四种强制转换reinterpret_cast/const_cast/static_cast /dynamic_cast

C++的四种强制转换reinterpret_cast/const_cast/static_cast /dynamic_castreinterpret_castreinterpret_cast (expression)type-id 必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以用于类型之间进行强制转换。const_castconst_cast (expression)该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_i

2022-04-26 23:04:51 208

原创 点权和(树形结构思维)

点权和(树形结构思维)题意:给你一棵树,最开始点权为0,每次将与一个点x树上距离<=1的所有点点权+1,之后询问这些点修改后的点权和.输出一个数,即这m次操作的答案的hash值。如果是第i次操作,这次操作结果为ans,则这个hash值加上i * ans输出hash值对19260817取模的结果n <= 100000m <= 10000000思路:因为m很大所以,又在线,所以需要O(1)处理每次。那么这题的突破口就是树上距离小于等于1的点,可以从每个点影响周围点的贡献入手。 一个

2021-11-10 14:15:09 567

原创 打印csdn

按F12,选择控制台,复制粘贴后按回车(function(){$("#side").remove();$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();$(".nav_top_2011, #header, #navigator").remove();$(".csdn-side-toolbar,.template-box,.reward-user-

2021-11-06 13:29:22 246

原创 2017CCPC哈尔滨B.(二分)

2017CCPC哈尔滨B.(二分)题意:从数组A的所有子连续序列取第k大构成数组B,求B数组第m大思路:B数组第m大具有单调性,枚举第m大x,双指针遍历A数组,找符合第k大数大于等于x的子序列个数res,将res与m做比较,#include<bits/stdc++.h>using namespace std;using ll=long long;const int maxn=2e5+5;int T,n,k,a[maxn];ll m;ll check(int x){ ll

2021-10-22 16:49:22 142

原创 CF刷题G

1594D - The Number of Imposters(简单遍历图)#include<bits/stdc++.h>using namespace std;const int maxn=2e6+5;string s1="imposter",s2="crewmate";int t,n,m,k,f,ans,p1,p2,a[maxn],vis[maxn],to[maxn],head[maxn],w[maxn],nex[maxn];void add(int x,int y,int z)

2021-10-11 15:52:20 195

原创 2021ccpc网络赛

Jumping Monkey并查集#include<bits/stdc++.h>using namespace std;const int maxn=2e5+5;//string p1="imposter",p2="crewmate";int t,n,dep[maxn],vis[maxn],fa[maxn];vector<int>mp[maxn],mp2[maxn];struct node{ int w,id; bool operator < (const

2021-10-11 12:00:57 158

原创 牛客练习赛89

F.牛牛防疫情牛牛用卖烤串赚的钱买了一款游戏,这款游戏的地图是一个 n*n 的网格,其中有 m 个地区存在感染源(红色),其余地区为安全区(白色)。已知一个感染源可同时将与其相邻(上下左右)的安全区感染,被感染的安全区称之为新发地(黄色)。一个安全区变为一个新发地需要付出大小为 c 的代价。新发地可在下一时刻作为感染源将与其相邻的安全区感染为新的新发地。为了遏制疫情扩散,牛牛决定采取下列两种措施1. 在感染源(新发地)周围修建墙,墙可阻止疫情的扩散。但每堵墙需要付出大小为 1 的代价。2. 任意让疫

2021-10-08 22:13:59 137

原创 牛客竞赛数据结构专题班树状数组、线段树练习题

F.little w and Discretization题意:找区间[l,r]内离散化后和原来的值不同大小的数的个数思路:先求区间mex,同时记录区间有多少个数,再 用区间长度减去(区间内小于mex数的个数)const int maxn=1e6+5;int n,cnt,a[maxn],m,root[maxn],b[maxn],c[maxn];struct node{ int l,r,val,he;}tr[maxn<<4];int update(int pre,int l,in

2021-09-28 20:29:35 168

原创 【补题】2021牛客暑期多校训练营9-n

E.Eyjafjalla题意:给出一棵树,q 个查询,每次查询给出 (u, l, r) 代表病毒在 u 点爆发,在 [l, r] 的温度可以传播根节点为 1,保证离根节点越近,温度越高,根节点温度最高。思路:对于任意一节点,它的父节点的温度递增(都大于它),子节点的温度递减(都小于它)。因为父节点温度递增,所以可以倍增logn的找到小于等于温度r的最大的父节点x,此时问题转化为,在x及其子树下查询大于l温度的节点数。先按照dfs序建n棵权值主席树,再倍增找到x,再法1:二分+区间第k大(nlo

2021-09-21 16:57:26 132

原创 2021ICPC网络赛第一场

A Busiest Computing Nodes题意:有k个时间片编号为0到k-1,有n个任务,对于每个任务i(从0开始编号),从第i%k个时间片开始往后找到第一个空闲的时间片运行,到k-1后下一个是0。线段树+二分二分去找最靠近左边的符合的位置#include<bits/stdc++.h>#define lson rt<<1,l,mid#define rson rt<<1|1,mid+1,rusing namespace std;typedef lo

2021-09-20 16:16:40 562 1

原创 【补题】2021牛客暑期多校训练营6-n

NO.6J.Defend Your Country#include<bits/stdc++.h>using namespace std;using ll=long long;const int maxn=1e6+5;int t,n,m,cnt,a[maxn],dfn[maxn],low[maxn],sz[maxn],cut[maxn],tag[maxn];vector<int>mp[maxn];void tarjan(int x,int fa){ low[x]=df

2021-09-17 16:38:22 114

原创 【红旗杯?】补题

D. Lowbit输入一个数组a,对a数组有两种操作1.l,r : [l,r][l,r][l,r]区间的ai+=lowbit(ai)a_i+=lowbit(a_i)ai​+=lowbit(ai​)2.l,r :询问[l,r]区间和,取模9982443531≤ai≤9982443521\leq{a_i}\leq{998244352}1≤ai​≤998244352思路:一个数log n 次lowbit后,会变成2的次方,以后再lowbit,就相当于乘以2#include <bits

2021-09-04 21:02:28 92

原创 【补题】2021牛客暑期多校训练营4-n

NO.4I.Inverse Pair题意:求逆序对数量,多了一步操作,可以选择将序列中的元素+1,使得逆序对数量最少。序列为1到n的一个全排列思路:因为+1只能改变差值相差为1的逆序对,所以,对于一个位置的元素x,如果它前面存在x+1,则将现在的x加1,使得逆序对数-1#include <bits/stdc++.h>using namespace std;using ll=long long;const int N=2e5+5;ll c[N],vis[N];int n;

2021-09-02 21:40:51 104

原创 FFT【模板】

#include<bits/stdc++.h>using namespace std;using ll=long long;const int maxn=(1<<20)+5;const double PI=acos(-1);struct Complex{ double x,y; Complex operator+(const Complex &o) const{return{x+o.x,y+o.y};} Complex operator

2021-08-31 21:03:10 67

空空如也

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

TA关注的人

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