自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(259)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ primer[查漏补缺] 第七章

第七章1成员函数的声明必须在类的内部,定义可以在外部。定义在类内部的函数是隐式的inline函数。2f()const{}常量成员函数,类中的时候,表示this是一个指向常量的指针,所以不能修改。定义在类外的函数,加上作用域之后,里面可以隐式使用类成员。3...

2020-08-01 18:02:05 193

原创 字节提前批三面总结

一面C++ 多态是什么

2020-07-30 00:42:09 1421 2

原创 计算机网络简要框架

物理层激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器和集线器。中继器:又称转发器,原理是信号再生和还原,扩大网络传输距离。仅作用于信号的电气部份,不管数据中是否有错误数据或不适合网段的数据。中继器的两端既能连接相同的媒体又能连接不同的媒体,但不能连接两个具有不同速度的局域网。中继器两端的网络部分是网段,而不是子网。中继器没有存储.

2020-07-29 18:47:55 821

原创 C++ primer[查漏补缺] 第六章

第六章1调用运算符:()函数形参名是可选的,除非函数中不使用,否则不会用未命名的形参。函数的返回类型不能是数组或函数类型,但可以是指向函数和数组的指针。自动对象:只存在于块执行期间的对象。形参:形参是一种自动对象,函数开始时为形参申请存储空间,一旦函数中止,形参也被销毁。局部变量:局部静态变量如果没有显式初始化则会执行值初始化。内置类型的未初始化局部变量将产生未定义的值。其余进行默认初始化。2函数声明也叫做函数原型,定义只有一次,声明可以多次。如果一个函数永远不会被我们用到,

2020-07-09 14:06:16 283

原创 C++ primer[查漏补缺] 第五章

2020-06-30 09:50:05 155

原创 C++ primer[查漏补缺] 第四章

第四章1当一个对象用作右值,用的是对象的值。当一个对象用作左值,用的是对象的身份(在内存中的位置)。(&p)指针是一个右值,因为你无法改变变量的地址,即无法对此处的指针进行修改。decltype对左值是int&...

2020-06-20 17:31:59 173

原创 C++ primer[查漏补缺] 第三章

第三章1using namespace::name使用命名空间的名字。例如:using std:cin每个名字都需要独立的using声明。头文件不应该使用using,否则所有引用头文件的文件都会有这个声明。2=是拷贝初始化()是直接初始化3String的操作有getline(is,s):读取一行,但不包括换行符。string str='b'+'c'+s1是不合法的,不能将字面值直接相加。string str=s1+'b'+'c'是合法的。4如果要对字符修改:for(auto

2020-06-15 13:05:27 188

原创 C++ primer[查漏补缺] 第二章

第二章1char是为机器字节服务的。wchar_t、char16_t、char32_t用于确保可以存放机器最大扩展字符集中的任意一个字符。类型char16_t和char32_t为Unicode字符集服务。

2020-06-15 10:29:59 409

原创 C++ primer[查漏补缺] 第一章

第一章1编译器生成一个可执行文件:编译命令为 g++ -o prog1 prog1.cpp这句话在UNIX系统中没有后缀,但在Windows中有.exe。如果不加-o prog1:Windows 会将这个文件命名为prog.exe,具体执行为.\progUNIX 将这个文件命名为a.out,具体执行为./a.out执行完程序,查看程序状态:Windows是echo %ERRORLEVEL%UNIX是echo $?2C++语言未定义IO语句,IO机制由全面的标准库提供。标准库定义了4

2020-06-05 21:21:55 186

原创 学习指南

洛谷P5616

2019-11-11 19:12:39 211

原创 codeblocks build failed

新电脑最近安装的时候,虽然安装的是带编译器版本但是还是出现了build failed,最后发现是官网最近的下载版本,编译器默认是bolrand c++,但实际并不是,所以修改过来即可。

2020-09-22 17:14:21 839

原创 字节第二次三面

C++模板typename和class的区别在于,typename可以适用于嵌套类型来表示类。(貌似现在class也行了)class MyArray{public: typedef int LengthType;};template<class T>void MyMethod(T myarr){ typedef typename T::LengthType LengthType; LengthType length = 5; printf("%d"

2020-09-02 12:56:44 357

原创 字节面试第二次一面挂

进步很多了,问的深度比以前要难了。但是还是有点不会,所以继续加油吧1G的长度16的字符串,只能用1M,找出前100多的字符串

2020-08-22 14:33:18 1673 3

原创 malloc和内存池原理

事先声明,两者没有特别的联系。malloc结论:1、当开辟的空间<128k,调用brk函数,主要移动指针 _enddata(此时的_enddata指的是Linux地址空间中堆段的末尾地址,不是数据段的末尾地址)。2、当开辟的空间大于 128K时,mmap()系统调用函数来在虚拟地址空间中(堆和栈中间,称为“文件映射区域”的地方)找一块空间来开辟。这两者都是分配虚拟内存,没有分配物理内存。在第一次访问已分配的虚拟地址空间的时候,发生缺页中断,操作系统负责分配物理内存,然后建立虚拟内存和物理内存

2020-08-21 13:09:50 1011

原创 STL容器

vectorstart和finish指向范围,end_of_storage指向尾端push_back():检查是否有备用空间,如果有就构造元素,调整迭代器finish,如果不够,就扩充空间(重新配置、移动数据、释放原空间)pos_back():将尾端元素拿掉erase(first,last):清除区间内不包括(last)的数据,原理是先把后面复制到前面,然后删除后面。clear:用erase实现。insert:在指定位置前插入元素,原理是把后面的数据移动到插入后的后面位置,然后插入。(实际操

2020-08-19 18:07:36 136

原创 TCP/IP 网络编程 第三章

IP地址和端口号IPV4:4字节地址族IPV6:16字节地址族先查询网络地址,再查询主机地址。A类地址的首字节范围: 0–127,A类地址的首位以0开始B类地址的首字节范围: 128–191 ,B类地址的前2位以10开始C类地址的首字节范围: 192–223 ,C类地址的前3位以110开始端口号:可分配0~65535,但0~1023是知名端口。UDP和TCP可以用同一个端口号,因为他们不共用。地址信息的表示struct sockaddr_in{ sa_family_t sin_fa

2020-08-16 01:44:58 191

原创 TCP/IP 网络编程 第二章

套接字

2020-08-16 00:08:14 146

原创 TCP/IP 网络编程 第一章

基础步骤第一步:调用socket函数创建套接字第二步:调用bind函数分配IP地址和端口号第三步:调用listen函数转为可接听状态第四步:调用accept函数受理可接听状态

2020-08-15 14:11:22 205

原创 两个有序数组中位数

等价于有序数组第K小首先我们可以不断分割得到这个kkk。首先两个数组都分配k2\frac{k}{2}2k​,如果第k2\frac{k}{2}2k​个数,第一个数组小于第二个数组,那么第一个数组的k2\frac{k}{2}2k​个数一定不是答案。问题可以变成一个子问题,上一个数组从k2+1\frac{k}{2}+12k​+1开始。相当于我们每次要去掉k/2k/2k/2个不可能的元素。如果有某个数组到底了,没有k/2k/2k/2个元素了,那么肯定是从另一个数组扣除。为什么呢?我们考虑如果答案在上面

2020-08-01 01:37:36 287

原创 H - Hangar Hurdles

题意很好懂的题意,给一个有障碍物的网格图,求起点到终点路径的最大正方形大小。意思就是,以每个点为中心,奇数边长的正方形区域内不能有障碍点。起点到终点多个询问题解预处理首先肯定要预处理出,每个点的最大正方形大小:用bfsbfsbfs实现。因为我们可以发现,对于每个2∗L−12*L-12∗L−1的正方形,如果从上下左右,对角方向往中心走,边界外一层的点最短路径都是LLL。利用这个性质我们可以进行bfs,不过需要判断网格图边界的影响。性质首先xxx走到yyy,答案必然小于等于min⁡(val[

2020-07-22 23:38:40 320

原创 2020 牛客第三场D

题意不想说,其实题意蛮简单的题解nnn个点,mmm条边1、首先nnn个离散点,必然有4n4n4n条边2、设kkk为黑点之间的边,4n−2k=m4n-2k=m4n−2k=m,所以mmm是偶数3、我们可以发现,如果形成一个矩形,并且点在中间的时候最优,这个时候边数是m=2(r+w)m=2(r+w)m=2(r+w),并且我们从右上角开始去点,答案还是2(r+w)2(r+w)2(r+w),因为增加了222条边,去掉的点减少了222条边(为什么去点?因为这个矩形的点可能多于nnn)4、知道第3个性质之后

2020-07-21 09:59:01 169

原创 Kattis - heapsoffun

题意一棵树,每个点有个取值范围,随机取值(实数),最后树是一个小根堆的概率题解取值范围是很大的,无法枚举,这个时候:我们可以把fu(x)f_u(x)fu​(x)定义成:uuu的子树合法且uuu取xxx的概率(准确说是概率密度);fu(x)=1buf_u(x)=\frac{1}{b_u}fu​(x)=bu​1​[叶子节点]这个是无法直接做的,我们考虑概率分布函数Fu(x)=∫fu(x)F_u(x)=\int f_u(x)Fu​(x)=∫fu​(x),表示的是uuu的子树合法且uuu取值≤x\leq

2020-07-17 17:11:47 452

原创 Kattis - xorsequences

题意又又又不想说题意题解首先考虑aaa和bbb与ccc异或,无论ccc是什么,a xor ca\ xor\ ca xor c和b xor cb\ xor\ cb xor c的差别在于aaa和bbb的最高不同位,而xix_ixi​一共mmm位。我们考虑{0...2m−1}\{0...2^{m-1}\}{0...2m−1},首先可以发现,前半部分最高位都是000,后半部分都是111,并且iii和i+2m−1i+2^{m-1}

2020-07-17 13:24:06 301

原创 Kattis - monotony状压dp

题意不想说了…自己看下题目把题解首先,考虑状压枚举列的状态。然后进行dpdpdp,我们还有维护递增递减的状态,否则没办法转移。我就卡死在这里了,因为这两个状态的乘积显然是会TTT的,但其实维护递增递减状态的时候,我们不需要枚举每一种状态,这样就能把对于每一种列的状态中的dpdpdp转移变为n2n^2n2。对于每一种列的状态colcolcol,dp[i][sta]dp[i][sta]dp[i][sta]表示前iii行,以iii为结尾,递增递减状态为stastasta的方案数,dp[i][cmp[

2020-07-16 20:39:32 260

原创 XVIII GP of Urals. D题 Anna and Lucky Tickets

题意求长度为nnn的数字串方案数,满足奇数位和等于偶数位和,且是回文串题解首先考虑nnn为偶数,此时左侧和右侧奇偶性相反,所以必然奇数和偶数的和相等。nnn为奇数的时候:枚举中间位是kkk,且接下来的奇数偶数不考虑中间这一位。【注意这里的kkk,由于回文串,奇数和和偶数和都是偶数,所有差一定也是偶数】如果中间是奇数,偶数 === 奇数+k+k+k反之,奇数=== 偶数 +k+k+k显然前者的时候,奇数和偶数是一样的,所以我们可以都变成第二个问题。奇数−-− 偶数 =k=k=k显然这样计

2020-07-16 11:45:01 240

原创 XVIII Open Cup named after E.V. Pankratiev. GP of Urals. K题

题意给起点和终点,每次可以走一条路,但要求走的方向是回文串,要求走的次数尽可能少(一次可以走多个,但要保证回文),每次路径最多不超过100100100图是一张二维(50∗5050*5050∗50)图。输出次数和路径。题解首先自己和自己的距离是000,相邻距离是111,且必然是回文的。我们可以从中心开始往外扩展,可以得到新的回文串,(i,j)→(x,y)(i,j)\to(x,y)(i,j)→(x,y),并且两点之间距离越小越好,所以我们可以把000和111按顺序放入队列,然后朝四个方向扩展回文,每

2020-07-15 20:32:21 282

原创 快速理解树链剖分

初阶关键在于处理如何处理链的信息。前置知识首先我们定义轻重链:孩子结点的子树最大的作为重儿子,每次优先跑重儿子,可以得到一条重链。重链的dfsdfsdfs序显然是连续的,轻链就是自己。【可以证明从根结点到叶子节点的路径上,轻重链的个数不超过lognlognlogn,但我不会】灰色是原来边,红色是重链,黑色是轻链,轻链我个人觉得需要记录的只有叶子节点。因为很明显可以发现2→32\to 32→3这条轻链的两个点都在别的链上可以记录,所以接下来我们可以认为轻链只有自己,2→32\to 32→3这种

2020-07-15 00:01:55 178

原创 2020 牛客多校第一场H

题意给定一张图,求最小费用流(源点流量为111)多个询问,每个询问将所有边的容量变为uv\frac{u}{v}vu​,求费用题解首先我们考虑费用流,如果所有边容量相同,为capcapcap。那么如果源点流量够多,每次增广得到的改进量是不会变化的,恒为capcapcap。回过来考虑这道题:对于源点流量有限的情况,在前面够的时候为capcapcap,不够的时候就是剩余的流量flowflowflow。对于某个询问,容量cap=uvcap=\frac{u}{v}cap=vu​,流量为111。我们将流

2020-07-12 22:01:12 460 3

原创 CodeChef - QRECT

题意带删除的询问与当前矩阵相交矩阵个数题解增加一个就是加一,删去一个就是减一。矩阵相交有多种办法,但是要用到数据结构中就需要一种不需要maxmaxmax或者事先排序的方法。我们可以通过计算不相交的个数,即在上下左右之外的。然而这样算出来是不够的,左上左下右上右下会重复计算,所以树状数组计算上下左右。CDQ计算四个角。最后拿已有的减去即可。思路比较简单,但是代码很恶心。#include<bits/stdc++.h>#define FOR(i,a,b) for(int i=a;

2020-06-19 10:56:25 283

原创 差分约束

参考差分约束系统类似于下面这种形式的多元一次不等式组:{xc1−xc1′≤y1xc2−xc2′≤y2xc3−xc3′≤y3 \left\{\begin{aligned}x_{c_1} -x_{c_1'}& \leq & y_1 \\x_{c_2} -x_{c_2'}& \leq & y_2 \\x_{c_3} -x_{c_3'}& \leq & y_3 \end{aligned}\right.⎩⎪⎨⎪⎧​xc1​​−xc1′​​xc2​​

2020-06-18 17:29:44 147

原创 利用等概率Randx()构造等概率Randy()

参考:YWY从x到<x考虑已知等概率Rand(x)Rand(x)Rand(x),我们可以通过任意操作得到:Rand(y)[0≤y<x]Rand(y)[0\leq y <x ]Rand(y)[0≤y<x]只需要每次随机的时候,判断得到的值是否满足≤y\leq y≤y即可 int a=randx(); while(a>=y)a=randx();因为等概率能得到0→x−10\to x-10→x−1,首先每一个都是等概率的,特意去掉某些数字剩下的仍然是等概率的。从x到x

2020-06-18 14:05:22 532

原创 2018 吉林 H

题意nnn个字符串,在区间每个字符串两端加上一个字符,并求数字和(加的数字都是单位(0→90\to90→9))。题解首先要知道,对于单个数。加上ddd,d∗10∗10len+sum+dd*10*10^{len}+sum+dd∗10∗10len+sum+d。区间就是,d∗10∗(10len1+10len2+...+10lenr)+sum+(d1+d2+...+dn)d*10*(10^{len_1}+10^{len_2}+...+10^{len_r})+sum+(d_1+d_2+...+d_n)d∗1

2020-06-16 19:19:16 201

原创 卡特兰数小总结

PS:当前该专题未系统刷题参考自:大佬1、大佬2.问题一: 括号匹配问题nnn个左括号,nnn个右括号,要求左括号和右括号匹配,总方案数。即中间不能出现前缀的右括号数量大于左括号。考虑随机放的方案:C(n,2n)C(n,2 n)C(n,2n)考虑不合法的情况,如果我们把第一个不合法的位置设为kkk,将[1,k][1,k][1,k]翻转。得到的左括号为n+1n+1n+1。那么对于一个左括号为n+1n+1n+1,右括号为n−1n-1n−1的随机放的方案能不能转换成原来的不合法方案呢。如果左括号

2020-06-13 10:49:35 313

原创 SWERC 2019-2020 Problem D

题意给一个超长的序列,以及1e41e41e4个操作。当然给了两个操作序列。比较最后得到的结果是否相同,都操作失败也视为相同题解每个元素都是一个pair<int,int>,当然里面可能有嵌套。我们可以对其进行哈希,或者说记录令pair<int,int>=x,那么对于pair<pair<int,int>,int>=pair<x,y>。这样就能保证不会变复杂了,哈希的时候两个操作序列用一个哈希(用map即可)。并且最多1e4个操作,所以我

2020-06-11 09:46:12 417

原创 朴素贝叶斯实现垃圾邮件处理

当然这份是老师写的。训练数据indexindexindex是具体数据的,文件位置。spamspamspam是垃圾邮件stopstopstop是停用词,即去掉了一些非实义动词(啊,比如,其实等)数据预处理创造一个dataframedataframedataframe结构,存储类别和训练数据所在位置。def load_data(): df = pd.read_csv('index', sep=' ', names=['spam', 'path']) df.spam = df.s

2020-05-31 16:04:26 1769

原创 决策树分类实例

数据处理数据就这样,也没啥好处理的qwqqwqqwq决策树(删减版)删减在于,用的字典。所以判断returnreturnreturn的时候少了,为了方便递归。少了启发式算法,直接用信息增益率计算信息增益def calcShannonEnt(dataSet): shannonEnt = 0 classList = [example[-1] for example in dataSet]#最后一个是类别 Set = set(classList) for x in

2020-05-31 16:02:54 770

原创 决策树

源自西瓜书基本流程训练集D={(x1,y1),(x2,y2),...,(xm,ym)}D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\}D={(x1​,y1​),(x2​,y2​),...,(xm​,ym​)}属性集A={a1,a2,...,ad}A=\{a_1,a_2,...,a_d\}A={a1​,a2​,...,ad​}过程:生成结点nodenodenode;if Dif\ Dif D中样本全部属于类别C thenC\ thenC&

2020-05-27 20:41:28 223

原创 朴素贝叶斯法

PS:PS:PS: 以下大部分基于西瓜书贝叶斯决策论是概率框架下实施决策的基本方法。贝叶斯决策论假设有NNN种可能的类别标记,即{c1,c2,...,cN}\{c_1,c_2,...,c_N\}{c1​,c2​,...,cN​},λij\lambda_{ij}λij​是将一个真实标记为cjc_jcj​的样本误分类为cic_ici​所产生的损失,基于后验概率P(ci∣x)P(c_i|x)P(ci​∣x)可获得将样本xxx分类为cic_ici​所产生的期望损失,即在样本xxx上的"条件风险":R(ci∣

2020-05-26 10:28:00 208

原创 AtCoder Grand Contest 044 B

题意n2n^2n2的网格图,对于(i,j)(i,j)(i,j),编号为(i−1)∗n+j(i-1)*n+j(i−1)∗n+j。初始图上每个格子为111,按给定顺序求出每个点到达边界的最短路,路径长度为经过的111的数量,不包括自己。计算完当前的之后,令当前格子为000使得最短路总和最小。题解这题比较巧妙,容易证明初始图的最短路,每个点加起来之后是这样的一张图。最外层是111,第二层围成一个圈是222,一直到n2\frac{n}{2}2n​。我们可以分成四部分计算总和,考虑左上角,最后一行是1

2020-05-24 19:25:09 209

原创 CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)部分题解

茶颜悦色题意固定kkk的矩形,能最多框住多少个点。题解假如我们固定一个矩形,以左下角为坐标。这样子对于(a,b)(a,b)(a,b),那么能够包括到这个点的矩形左下角的范围:x∈(a−k,a),y∈(b−k,b)x∈(a-k,a),y∈(b-k,b)x∈(a−k,a),y∈(b−k,b)利用扫描线的思想,从xxx轴扫过去,每次对yyy上的区间加111,表示正方形左下角为此点的时候有多...

2020-05-23 16:41:46 215

数学模板.zip

本人整理的acm算法,包括数学的常用操作,x!质因数分解,判断大质数和大合数分解,扩展中国剩余定理,扩展欧几里得(判断和计算ax+by=s),非质数n次剩余,扩展BSGS,一定范围内的最近最远素数对,矩阵快速幂,FWT or,and,xor运算,FFT(快速傅里叶变换),斐波那契数列循环节,约瑟夫环等算法

2019-10-17

空空如也

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

TA关注的人

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