自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sugarbliss

Those who cannot remember the past are condemned to repeat it.

  • 博客(549)
  • 资源 (4)
  • 收藏
  • 关注

原创 内存对齐及结构体大小--最通俗易懂的讲解

1. 什么是字节对齐?字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节。字节按照一定规则在空间上排列就是字节对齐。CPU在读取内存地址的时候,一定按照一定的偏移量去读取,不知道你发现了没有,我们没有看到一个变量的大小是 3 个字节的,都是 1 个字节,2个字节,4个字节,8个字节,16个字节,32个字节。为什么会这样呢?因为CPU设计的时候,没有一个 3 、5、7、9这样的模子,因为设计这样的模子非常费

2020-08-26 17:19:22 1052 1

原创 虚函数和纯虚函数--最通俗易懂的讲解

上帝是一个程序员,创造了动物(基类),给予了动物吃饭,睡觉,叫唤等通用功能。(封装)只指定了平均睡觉八小时(虚函数),其中没有指定具体的吃饭,叫唤的行为。(纯虚函数)然后细分一下,动物有猫狗羊和人。(继承)人类明确它们物种的时候(明确类型的派生类指针)猫吃鱼 狗吃肉 羊吃草猫喵喵 狗汪汪 羊咩咩(多态 同名覆盖)一切都如此顺理成章。突然人发现一只动物!这只是什么呢?诶?这货不知道是啥!只能用"动物"来称呼他!(基类指针指向子类对象)当没有虚函数的时候,人类发现这只动物不会叫也不.

2020-05-17 21:13:02 7453 1

原创 分层图最短路--最通俗易懂的讲解

分层图最短路是指在可以进行分层图的图上解决最短路问题。分层图:可以理解为有多个平行的图。一般模型是:在一个正常的图上可以进行k次决策,对于每次决策,不影响图的结构,只影响目前的状态或代价。一般将决策前的状态和决策后的状态之间连接一条权值为决策代价的边,表示付出该代价后就可以转换状态了。一般有两种方法解决分层图最短路问题:建图时直接建成k+1层。 多开一维记录机会信息。当然具...

2019-01-19 13:04:30 10909 20

原创 最短路问题--最通俗易懂的讲解

最短路径的定义:所谓最短路径是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。可以将适用最短路的算法分为单源最短路,和多源最短路如下图:多源最短路算法Floyd:Floyd-Warshall 算法用来找出每对点之间的最短距离。它需要用邻接矩阵来储存边,这个算法通过考虑最佳子...

2019-01-16 19:13:30 5625 6

原创 链式前向星--最通俗易懂的讲解

如果说邻接表是不好写但效率好,邻接矩阵是好写但效率低的话,前向星就是一个相对中庸的数据结构。前向星固然好写,但效率并不高。而在优化为链式前向星后,效率也得到了较大的提升。虽然说,世界上对链式前向星的使用并不是很广泛,但在不愿意写复杂的邻接表的情况下,链式前向星也是一个很优秀的数据结构。 ...

2019-01-15 17:55:11 57528 64

原创 二进制枚举--最通俗易懂的讲解

二进制:是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”子集:是一个数学概念:如果集合A的任意一个元素都是集合B的元素,那么集合A称为集合B的子集。含有个元素的集合的一切子集的个数为。简单证明一下:含有0个元素的子集有个, 含有1个元素的子集有个, 含有2个元素的子集有个, ............

2018-07-18 17:20:47 21076 32

原创 Mac、Linux 安装 zsh & oh-my-zsh

Mac、Linux 安装 zsh & oh-my-zshshell 俗称壳,c 语言编写的命令解析器程序,是用户使用 linux 的桥梁。Linux/Unix 提供了很多种 Shell。常用的 Shell 有这么几种,sh、bash、csh 等。可以通过以下命令,查看系统有几种 shell:$ cat /etc/shells目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash。但是真正强大的 Shell 是深藏不露的 zsh,史称『终极 Shell』,由于与 ba

2021-07-19 15:30:56 812

原创 序列变换(map+priority_queue)

题目:给出一个序列,里面的元素相同,我们要得到元素各不相同的序列,进行这样的操作:令为序列重复的最小数字,你需要删除序列左数第一个并把第二个换成。例如原来是,一次变换为,两次变为变换结束。输入一个n接下来是序列的n个数字,输出最终变换的结果(最终的结果序列唯一)。输入样例1:35 4 5输出样例1:4 10思路:存每一个数字的下标,并将下标从小到大排序,所以里的val放优先队列即可#include <iostream>#include &l...

2020-08-13 14:18:33 542

原创 抓包分析序列号、确认号、三次握手、四次挥手

首先有下面几个问题:序列号和确认号是怎么计算的? 序列号和确认号的作用? 序列号从零开始就不需要握手了,为什么要随机呢? 三次握手,四次挥手中,序列号确认号在实际数据包中是怎么变化的? 为什么需要三次握手,四次挥手? 三次握手中,可以携带数据吗?一 、序列号和确认号计算方法TCP序列号是两个方向的,每个方向有自己的序列号,这个序列号是随机产生的。客户端的序列号为上一个服务器端的确认号,同时也是上一个客户端的序列号+负载数据。 客户端的确认号,是上一个服务器端的序列号+负载数据。服

2020-08-07 17:49:06 4563

原创 解决linux重启后磁盘挂载失效的问题

用mount挂载分区之后重启就没有了,原因是因为这个挂载是临时的,而不是永久的。磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作,然而在linux操作系统中fstab正是负责这一配置的。在开机的时候linux操作系统会调用fstab配置文件,根据该配置文件挂载分区到操作系统的。这是重启后挂载的分区丢失的根本原因,所以我们只需要修改/etc/fstab文件就能解决这个问题。一、用df -Th命令查看你要挂载的磁盘信息第一列是你要挂载的设备,第二列是文件系统类型,最后一列是挂.

2020-06-30 09:42:39 20714 2

原创 C语言实现memmove函数

memmove函数内部的实现原理: 当源内存的首地址等于目标内存的首地址时,不进行任何拷贝 当源内存的首地址大于目标内存的首地址时,实行正向拷贝 当源内存的首地址小于目标内存的首地址时,实行反向拷贝 注意:无论正向拷贝还是反向拷贝都是为了在发生内存重叠时能正确拷贝(保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中)#include<bits/stdc++.h>#include<assert.h>using namespace std;vo

2020-05-23 15:37:46 1158

原创 POJ - 2823 Sliding Window(单调队列)

题目链接:https://vjudge.net/problem/POJ-2823题意:给定一个数列,从左至右输出每个长度为k的数列段内的最小数和最大数。思路:单调队列维护两端,它的头端可以出数,尾部可以进数,通常用于解决局部性的最值问题。单调栈只维护一端,通常维护全局的单调性。单调栈大小没有上限,而单调队列通常有大小限制。所以本题选择用单调队列解。代码中数组的解释:数组用来表示一个单调队列 数组表示单调队列里每个元素在原数组中的下标本题只需维护两个队列(单调递减队列,头部肯定是最大值,.

2020-05-23 11:19:20 225

原创 在创建派生类对象时,构造函数的执行顺序

基类构造函数→对象成员构造函数→派生类本身的构造函数#include<iostream>using namespace std;class A{public: A() { cout << "基类A构造函数" << endl; } ~A() { cout << "基类A析构函数" << endl; }};class B : A{p

2020-05-18 15:42:00 2494

原创 安装Visual Studio2019:计算机正忙于安装一个非visual或者Microsoft.VisualStudio.MinShell.Msi.Resources安装失败解决方案

一次只能运行一个 Visual Studio 安装实例。我们只需重启一下即可。

2020-05-15 17:15:13 4481 4

原创 C++中的 =default

就是指示编译器生成一个合成版本的构造/析构函数(包括拷贝构造,赋值构造,移动构造,移动赋值构造)。比如你已经定义了一个有参的构造函数,那么默认构造函数编译器就不再生成了,你可以通过default关键字让默认构造函数恢复相对于=default...

2020-04-23 15:10:05 685

原创 Leetcode 466.统计重复个数(找循环节)

题目链接:https://leetcode-cn.com/problems/count-the-repetitions/题意:由 n 个连接的字符串 s 组成字符串 S,记作S = [s,n]。例如,["abc",3]=“abcabcabc”。如果我们可以从 s2中删除某些字符使其变为 s1,则称字符串 s1可以从字符串 s2 获得。例如,根据定义,"abc" 可以从 “abdbec...

2020-04-19 11:22:04 639

原创 字典树(前缀树)

#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 7;int trie[N][30], vis[N];char s[N];int k = 1;void Insert(char *w){ int n = strlen(w); int p = 0; for(int i = ...

2020-03-28 14:05:56 193

原创 pip install beautifulsoup4 失败的解决方法

当我通过pip install beautifulsoup4,安装bs4时,出现了下面错误:像这种安装错误大部分都是网络原因,使用pip进行安装,默认是从国外安装,所以需要将pip源设置为国内源,国内有豆瓣源、阿里源、网易源等等。使用下面的命令通过豆瓣源安装即可成功:pip3 install bs4 -i http://pypi.douban.com/simple/ --trus...

2019-11-30 11:59:02 13384 2

原创 python 3.7 安装mysqlclient 错误解决

Running setup.py install for mysqlclient ... error解决方法到这个地址下载自己python版本对应的资源https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient其中cp27对应python2.7 win32表示window32位,win64表示windows64位系统。我们需要...

2019-11-21 17:58:37 3866 1

原创 stringstream 实现字符串分隔

stringstream默认分割空格、tab、回车换行#include <bits/stdc++.h>using namespace std;int main(){ string s1, s2; s1 = "Those who cannot remember the past are condemned to repeat it"; strin...

2019-11-11 17:34:54 1503

原创 pb_ds库 - 红黑树

#include <ext/pb_ds/tree_policy.hpp>#include <ext/pb_ds/assoc_container.hpp>using namespace __gnu_pbds;typedef tree<pt,null_type,less< pt >,rb_tree_tag,tree_order_statistics_n...

2019-10-26 11:53:19 640

原创 牛客小白月赛18 - E - Forsaken的数列(splay模板)

题目链接:https://ac.nowcoder.com/acm/contest/1221/E#include <iostream>#include <cstdio>#include <cstring>#include <stack>#include <vector>#include <algorithm>#...

2019-10-26 11:18:10 301

原创 P3806 - 点分治

题目链接:https://www.luogu.org/problem/P3806思路:点分治是一种基于树的重心,统计树上路径的优秀算法。将树上的路径分为经过根节点和不经过根节点两种,对于前者, 我们用表示结点到根节点的路径长度, 则到的路径长为,对于后者,如果把根节点删掉,则可以生成若干颗以原根节点的儿子为根节点的子树,对于这些子树又可以分为经过根节点和不经过根节点两种。...

2019-10-24 21:21:41 202

原创 python练习

例题1:给你一个字符串,删除若干个后,如果匹配hello,输出YES,否则NO。样例:ahhellllloou,输出:YES;hlelo,输出:NO。利用python正则表达式,re.search方法扫描整个字符串并返回第一个成功的匹配。.*代表匹配除换行符之外的所有字符。匹配不成功返回None。import re ; print("YES" if re.search("h.*e...

2019-10-17 17:04:54 180

原创 HDU - 2767 - Proving Equivalences(强连通,缩点)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2767题意:给出n个点和m条有向边,问最少须添加多少个边,使得有向图成为一个强连通图。思路:对于有向图的强连通图中的每一个顶点一定有它的入度和出度都不为0,为了使每一个点的入度和出度都不为0,我们只需要从出度为0的点连出一条边同时把它连入入度为0的点,尽可能多的一一对应,所以添加的边数就是max...

2019-09-29 18:06:35 152

原创 P1726 上白泽慧音 (tarjan)

题目链接:https://www.luogu.org/problem/P1726题意:求最大强联通分量,若存在两个最大的,输出字典序最小的。思路:裸的Tarjan算法,讲之前需要介绍一些辅助数组:dfn[ ]:表示这个点的时间戳,也就是第几个搜到的 low[ ]:表示这个点能到达的最小时间戳,或者说是这个点以及其子孙节点连的所有点中dfn[ ]最小的。 stack:表示当前所有可能...

2019-09-29 16:47:15 273

原创 2019CCPC秦皇岛赛区(重现赛) - MUV LUV EXTRA(KMP)

题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1010&cid=872思路:枚举开始出现的部分长度,最优的循环节就是最后个字符构成的字符串的最小循环节,由于可以求前缀的最小循环节,考虑把字符串反转,使用可以求出每一个前缀的最小循环节:,即求出了每一个后缀的最小循环节。#include <...

2019-09-28 18:05:11 278

原创 The Preliminary Contest for ICPC Asia Xuzhou 2019 - E - XKC's basketball team(二维偏序)

题目链接:https://nanti.jisuanke.com/t/41387题意:给出一个长度为n的数列,给出m的值。对于每一个 arr[i] 问在数列中从 i 位置向右比 arr[i] + m 大的值的位置与 i 之间最多有多少个数。思路:用线段树来记录区间最大值,优先从右子树开始查询是否存在大于 arr[i] + m的值,找到返回下标即该值在原数列中的位置,找不到返回-1。#i...

2019-09-28 17:02:13 154

原创 牛客练习赛4 - A - Laptop(二维偏序)

题目链接:https://ac.nowcoder.com/acm/contest/16/A思路:二维偏序问题,按照第一维排序,再用树状数组处理第二维即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long long ul;typedef pair&...

2019-09-25 19:43:49 212

原创 HDU 4311 - Meeting point-1(前缀和优化曼哈顿距离)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4311题意:给定n个点,找出一点使得该点到其余各点的曼哈顿距离总和最小,输出最小值。思路:分别对横纵坐标排序,比如说横坐标,排好序后如果点 为所求,则前个点的坐标小于,到这个点的坐标大于,则轴对应的结果为,为前个点的坐标值和。对 轴也做同样处理,枚举取出最大值...

2019-09-25 19:34:18 465

原创 HDU - 4666 - Hyperspace(动态多维曼哈顿距离)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4666题意:一开始点的个数为零,有两个操作就是0表示增加一个点,1表示删除一个点,每次操作都要输出最大曼哈顿距离。思路:poj - 2926加强版,不同的是本题需要一个数据结构来维护最大值最小值,比如线段树,mu,或者搞两个堆。multiset:#include <bits/st...

2019-09-25 19:15:47 230

原创 poj - 2926 - Requirements(多维曼哈顿距离)

题目链接:https://ac.nowcoder.com/acm/contest/16/B思路:二维空间上两个坐标之间的曼哈顿距离 和 ,去掉绝对值符号后共有下列四种情况:转化一下:显然,任意给两个点,我们分别计算上述四种情况,那么最大值就是曼哈顿距离。如果我们用1表示+号,用0表示-号那么对应为:所以我们可以二进制枚举即可,也就是枚...

2019-09-25 18:14:17 256

原创 文件的简单读写

写入文件#include <bits/stdc++.h>#include<fstream>using namespace std;int main(){ ofstream openfile("E:\\程序文件\\text.txt", ios::in); for(int i = 1; i <= 10; i++) openfile ...

2019-09-19 19:35:52 89

原创 牛客小白月赛17 - J - 计数(组合数学隔板法)

题目链接:https://ac.nowcoder.com/acm/contest/1085/J思路:隔板法就是在n个元素间插入(b-1)个板,即把n个元素分成b组的方法。比如将20个大小形状完全相同的小球放入3个不同的盒子,允许有盒子为空,但球必须放完,有多少种不同的方法?解析:将20个小球分成三组需要两块隔板,因为允许有盒子为空,不符合隔板法的原理,那就人为的再加上3个小球,保证每个...

2019-09-17 16:05:41 361

原创 The Preliminary Contest for ICPC Asia Shanghai 2019 - B. Light bulbs(差分 + 思维)

题目链接:https://nanti.jisuanke.com/t/41399题意:一排 N个初始关着的灯泡,M个操作,每个操作使得区间 [L,R] 的状态反转,求最后开着灯泡的数量。思路:内存只有8192K,考虑差分,但不能直接遍历,考虑到每一个区间只有奇数才会有贡献,而 M 只有1000,直接遍历区间计算贡献即可。#include <bits/stdc++.h>us...

2019-09-16 10:20:30 314

原创 The 2019 Aisa Nanchang First Round Online Programming Contest - B. Fire-Fighting Hero(最短路)

题目链接:https://nanti.jisuanke.com/t/41349题意:V个消防点,S消防点有一个消防英雄,K表示消防队所在消防点的位置,C是比例系数,消防英雄要和消防队挑战,挑战是:消防英雄到其他消防点的最短路径的最大值与消防队从其消防点的任何一点到其他消防点的最短路径的最大值进行比较。比较的时候消防英雄的最大值要乘以1/C,时间小的win,如果时间相等,消防英雄win,输出胜...

2019-09-08 17:24:54 418

原创 The Preliminary Contest for ICPC Asia Xuzhou 2019 - G - Colorful String(回文树 + 主席树)

题目链接:https://nanti.jisuanke.com/t/41389题意:给你一个串s,询问s中所有的回文串中不同子母的和。思路:用回文树统计每一个回文串的长度和个数,用主席树统计回文串不同子母的个数即可。PS:回文树的功能:1.求串S前缀0~i内本质不同回文串的个数(两个串长度不同或者长度相同且至少有一个字符不同便是本质不同)2.求串S内每一个本质不同回文串出现的次数3...

2019-09-07 19:03:34 589 2

原创 STL 之 unordered_set

unordered_set与与unordered_map相似,unordered_set基于哈希表,数据插入和查找的时间复杂度很低,几乎是常数时间,而代价是消耗比较多的内存,无自动排序功能。底层实现上,使用一个下标范围比较大的数组来存储元素,形成很多的桶,利用hash函数对key进行映射到不同区域进行保存。...

2019-09-07 17:58:13 342

原创 NSWOJ2 - #2003. MJZ 坐火车(线段树)

题目链接:http://47.100.29.252:5283/problem/2003思路:我们只需要设法维护:对于当前下标,每种颜色在左右两侧的出现次数的乘积,再对每种颜色的乘积求和即为答案。开两个桶维护左侧和右侧每种颜色 的车厢数,关键在怎么填这两个桶,我们从先将填满,然后考虑从左向右移动时对的贡献即可,然后用线段树维护乘积求和即可。#include <ios...

2019-08-30 10:43:54 188

原创 Codeforces Global Round 4 - 1178E. Archaeology(鸽巢原理)

题目链接:https://codeforces.com/contest/1178/problem/E题意:给出一个只包含的字符串,保证任意两个连续的字符都不相同,要求选出一个子序列使得它是一个回文串,并且。思路:贪心从两端取,因为任意两个连续的字符都不相同,再根据抽屉原理,左端的两个字符和右端的两个字符,必然会有两个相等,所以我们两个两个找即可。#include <...

2019-08-28 16:46:37 203

PF_RING用户中文指南.rar

PF_RING是Luca研究出来的基于Linux内核级的高效数据包捕获技术。简单来说PF_RING 是一个高速数据包捕获库,通过它可以实现将通用 PC 计算机变成一个有效且便宜的网络测量工具箱,进行数据包和现网流量的分析和操作。同时支持调用用户级别的API来创建更有效的应用程序。

2020-07-17

学生成绩管理系统.zip

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序实现图形化界面。登录界面、用户端和管理员端,链接SQLite 数据库管理用户。

2020-06-12

python爬虫数据可视化分析大作业.zip

python爬虫,并将数据进行可视化分析,数据可视化包含饼图、柱状图、漏斗图、词云、另附源代码和报告书。

2020-06-12

步道乐跑低版本

mumu模拟器不闪退....

2018-11-28

空空如也

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

TA关注的人

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