自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于C++中,delete 和delete []的区别

我猜,肯定有人认为一个是对变量的内存空间进行释放,一个是对数组的内存空间进行释放。其实根本不是这样,比如我有一个数组这两个delete其实可以达到一样的效果。但是当数组是一个类的数组的时候,情况就不一样了,delete不会调用类对象的析构函数,而delete [] 会调用类对象的析构函数。

2022-12-04 19:59:35 409 1

原创 2022ICPC网络赛预选赛第二场题解,K题L题

2022ICPC网络赛预选赛第二场题解

2022-09-28 01:40:10 1019

原创 动态KMP算法,支持对字符串尾部动态增加/删除字符,查询整串的最长公共前后缀

引入题目:Codeforces1721E。使用该模板即可秒掉此题。

2022-09-20 17:58:36 210 1

原创 C++11智能指针(shared_ptr/weak_ptr/unique_ptr/auto_ptr)详细讲解

C++11中有shared_ptr与weak_ptr、unique_ptr等智能指针(smart pointer),定义在中。可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。

2022-09-09 14:56:11 368

转载 覆盖和交换技术详细解释

转载自https://blog.csdn.net/qq_41375318/article/details/102646006覆盖和交换1.覆盖技术(1)一个固定区1.存放最活跃的程序段2.固定区中的程序段在运行过程中不会调入和调出(2)若干个覆盖区1.不可能同时被访问程序段(处在同一级)可共享一个覆盖区2.覆盖区中的程序段在运行过程中会根据需要调入和调出(3)必须由程序员声名覆盖结构,操作系统完成自动覆盖(4)缺点:对用户不透明,增强了用户编程负担覆盖技术的思想:将程序分为多个段(模块

2022-04-27 00:59:08 4647

原创 HTTP的常见状态码

HTTP状态码是用以表示网页服务器超文本传输协议(http)响应状态的3位数字代码。

2022-04-21 11:42:12 207

原创 gdb调试的简单介绍

如何让程序可以被调试正常情况下我们通常是使用下面的方法来编译程序的gcc -o test test.c用gcc编译源程序的时候,编译后的可执行文件不会包含源程序代码,如果您打算编译后的程序可以被调试,编译的时候要加-g的参数,例如:gcc -g -o test test.c调试程序直接在命令行中输入下面的命令就可以进行调试啦gdb test几个基本的调试命令命令全称命令缩写命令说明breakb设置断点,b 15 表示在第15行设置断点,一次调试可以设置多个断

2022-04-18 21:46:00 147

原创 Ubuntu安装Redis

wget http://download.redis.io/releases/redis-4.0.11.tar.gztar xzf redis-4.0.11.tar.gzmv ./redis-4.0.11 /usr/local/redis/cd /usr/local/redis/sudo makesudo make testsudo make installcd /usr/local/binls -allcd /usr/local/redis/sudo mkdir etcsudo ..

2022-04-11 21:13:39 546

原创 2022年蓝桥杯C/C++B组试题及答案,带详细解析,附带提交网站

2022年蓝桥杯C++B组答案,附带提交网站!

2022-04-10 11:02:14 8878 7

原创 数据库的隔离级别(脏读、不可重复读、幻影读)

脏读、不可重复读、幻影读脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。读到了并一定最终存在的数据,这就是脏读。不可重复读指的是在一个事务内,最开始读到的数据和事务结束前的任意时刻读到的同一批数据出现不一致的情况。幻读并不是说两次读取获取的结果集不同,幻读侧重的方面是某一次的 select 操作得到的结果所表征的数据状态无法支撑后续的业务操作。更为具体一些:select 某记录是否存在,不存在,准备插入此记录,但执行 inse

2022-04-08 21:56:45 1541

原创 Linux下vim好用好看的vimrc配置-竞赛篇

F3 打开输入文件编辑页面F4 以该输入文件运行该程序F5 打开输出文件编辑页面F8 运行该程序F9 编译程序F12 运行python程序syntax onset backspace=indent,eol,startset shortmess=atIset nu si ci ai mouse=a sw=4 sts=4 ts=4set hlsearch incsearchcolorscheme torteset guioptions-=mset guioptions-=Tset.

2022-04-04 17:14:34 2881

原创 Codeforces 1660 Codeforces Round #780 (Div. 3)-AK题解

题目链接A题意你现在有a个一元硬币和b个两元硬币,问你最小不能拼凑出来的钱数是多少?思路如果没有一元硬币,那么答案就是1否则答案就是a+b∗2+1a+b*2+1a+b∗2+1。AC代码#include <bits/stdc++.h>using namespace std;using ll = long long;int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t;

2022-04-02 00:40:17 1491 1

原创 Codeforces1657-Educational Codeforces Round 125 (Rated for Div. 2)-题解(A-D)

比赛链接A题意最开始我们在二维坐标系的(0,0)(0,0)(0,0)处,两点之间的距离公式为(x2−x1)2+(y2−y1)2\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}(x2​−x1​)2+(y2​−y1​)2​,我们每次移动只能走整数距离的长度到一个整数点,问走到给定的目标点最少要走几步?思路很显然,如果给定的点(x,y)(x,y)(x,y)到(0,0)(0,0)(0,0)的距离是一个完全平方数,答案为1,否则答案为2(先走到(0,y)(0,y)(0,y)再走到(x,y)(x,

2022-03-24 10:56:04 950 3

原创 2021牛客暑期多校训练营9-倍增、主席树、dfs序

题目链接题意在一个国家中有nnn个城市,111是该国家的首都,这个国家的结构可以看作一颗树。每个国家都有一个温度,越靠近首都的城市温度越高;现在有qqq次查询,每次询问给出一个点,表示在该城市爆发病毒,并且病毒可以存活的温度范围是[l,r][l, r][l,r],问该病毒最多可以扩散到多少城市。思路对于爆发病毒的城市,我们可以根据该病毒可存活的温度上限得到离首都最近的城市,可以通过倍增实现,复杂度lognlognlogn。得到可传播最远的城市后,再向它的子树中寻找有多少节点的温度在[l,r][l

2022-03-20 18:57:39 72

原创 C++Lambda表达式,超详细的讲解,保证一遍懂

1、Lambda表达式的概述C++11引入了Lambda表达式,用于定义并创建匿名的函数对象,主要用于方便编程,避免全局变量的定义,并且变量安全。Lambda表达式的定义语法如下:[函数对象参数](函数参数)修饰符->返回值类型{函数体};2、Lambda表达式语法分析2.1 函数对象参数[]标识一个Lambda表达式的开始,这一部分是不可以忽略的。函数对象参数只能使用到定义该Lambda表达式为止定义过的局部变量,包括Lambda表达式所在类的成员变量。函数参数有以下几种形式:空:

2022-03-12 12:38:03 16840 1

原创 Codeforces1651-Educational Codeforces Round 124 (Rated for Div. 2)-题解(A-D)

比赛链接A题意2n2^n2n名运动员比赛,当运动员 x 和 y 比赛时,获胜者的决定如下:如果 x+yx+yx+y是奇数,则编号较低的运动员获胜如果 x+yx+yx+y是偶数,则编号较高的运动员获胜。思路最后肯定是最大的奇数获胜,也就是2n−12^n - 12n−1AC代码#include <bits/stdc++.h> using namespace std;using ll = long long; int main() { ios::sync_wit

2022-03-11 18:00:15 1272

原创 订单编号 STD set维护区间一附并查集巨妙方法

2022-03-10 19:51:39 404

原创 C. 连锁商店-CCPC女生赛-状压DP、Floyd

题目链接题目大意:有nnn个旅游景点,每个景点属于一个公司,在经过某一个景点的时候会得到该公司的红包,当得到该公司的红包之后就不能再获得该公司的红包,问从111号景点出发,到[1,n][1, n][1,n]景点可获得的红包最大值是多少。题目分析:如果一个公司只有一个旅游景点,那么该公司的红包可以直接获得,如果一个公司有两个以上的旅游景点,那么我们可以使用状压dp进行求解,dp[i][st]dp[i][st]dp[i][st]代表到iii号景点,经过的公司状态为ststst时,可以获得的最大红包值。

2022-03-10 17:06:09 393

原创 动态开点线段树-附习题

动态开点线段树普通的线段树在内存上通常为数组大小的四倍,但是当数组范围达到10910^9109的时候,普通的线段树就不再适用,因为查询最多不会超过10610^6106次,所涉及到的点也就没有达到10910^9109这个数量级,所以我们可以使用动态开点线段树,对内存进行优化,单条树链的长度最多为log(n)log(n)log(n),所以时间复杂度和空间复杂度均为O(qlogn)O(qlogn)O(qlogn),达到时空平衡的状态。node:记录点的信息(当前点的值,当前点的懒标记,左孩子和右孩子的指

2022-03-03 13:41:40 344

原创 关于我在结构体中写了这样的语句然后报错的分享

一个平静的下午因为这个代码变得不平静

2022-03-02 16:22:30 505

原创 Brute 暴力

Brute 暴力枚举子集int x; cin >> x;for(int i = x;i;i = (i - 1) & x) cout << i << '\n';二分二分答案01分数规划给出n个物品,每个物品有两个属性a和b,选择k个元素,询问∑ai/∑bi的最大值给出n个物品,每个物品有两个属性a和b,选择k个元素,询问\sum{a_i}/\sum{b_i}的最大值给出n个物品,每个物品有两个属性a和b,选择k个元素,询问∑ai​/∑bi​的最大

2021-10-19 10:54:50 78

原创 Mess 杂项算法

Mess 杂项算法Q_read/Q_writeinline int qr(){ int x = 0, f = 1; char c = getchar(); while(!isdigit(c)) { if(c == '-') f = -f; c = getchar(); } while(isdigit(c)) { x = (x << 1) + (x << 3) + (c ^ 48);

2021-10-19 10:54:07 150

原创 DP

DP记忆化搜索线性DP背包DP区间DP概率DP数位DP状压DP树形DPDP优化四边形优化斜率优化矩阵优化单调栈/单调队列优化

2021-10-19 10:53:28 106

原创 STL模板库

STL模板库Vector初始化vector<int > a(n + 1, 0);vector<vector<int > > a(n, vector<int>(m, 0));vector<vector<vector<int> > > dp(n, vector<vector<int> >(n, vector<int>(n, 0)));构建右值vectorvector&l

2021-10-19 10:52:52 96

原创 Geometry 计算几何

Geometry 计算几何四面体体积计算(已知四个点的坐标)struct point { double x, y, z;} p[5];double line2(point a, point b) { return ((a.x - b.x) * (a.x - b.x)) + ((a.y - b.y) * (a.y - b.y)) + ((a.z - b.z) * (a.z - b.z));}void work() { for (int i = 1; i <= 4; i

2021-10-19 10:52:17 665

原创 String 字符串

String 字符串KMPconst int maxn = 1e5 + 7;vector<int> ne(maxn, 0);string mode, text;void getNext() { int j = 0, k = -1; ne = vector<int>(maxn, 0); ne[0] = -1; while(j < mode.length()) { if(k == -1 || mode[j] == mode[k]) ne[++j] = ++k

2021-10-19 10:51:42 73

原创 Number 数论

Number 数论素数筛欧拉筛对if(i % prime[j] == 0) break;的解释当i % prime[j] == 0时有 i = k * prime[j]; 若j++有 i * prime[j + 1] = k * prime[j] * prime[j + 1] 也是prime[j]的因子,导致重复筛const int maxn = 1e7 + 8;vector<int > prime(maxn, 0);bitset<maxn> vis(0)

2021-10-19 10:51:13 369

原创 Datastruct 数据结构

Data Structure 数据结构树二叉树二叉树的重建已知前序、中序,求后序#include <bits/stdc++.h>using namespace std;using ll = long long;struct BTree { int data; BTree* lson; BTree* rson; BTree(int c) { data = c; lson = rson = nullptr; }};void preTravel(BTree

2021-10-19 10:49:09 499

原创 Network 网络流

Network 网络流二分图二分图的判断二染色法:图可以被分为两个集合,每条边的两个端点都可以被划分到两个集合中;这两个集合可以被染成两个颜色偶环法:根据二分图的定义,二分图中不可能存在奇数长度的环//偶环法#include<bits/stdc++.h>using namespace std;using ll = long long;int main() { ios::sync_with_stdio(false); cin.tie(nullptr);

2021-10-19 10:47:50 146

原创 Graph 图论

Graph 图论图的存储方式vector存图const int maxn = 2e5 + 7;vector<int > g[maxn];vector<vector<int> > g(maxn);vector<vector<pair<int, int> > > g(maxn);链式前向星慎用,可能会很慢;可以在网络流相关的题使用,快速得到与本条边反向的边(i ^ 1);const int Max = 1e6 +

2021-10-19 10:42:32 287

空空如也

空空如也

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

TA关注的人

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