自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CodeForce[1500-2000]——1950F - 0, 1, 2, Tree!

只要合法了,那我们就不用管c了,因为根据a构建出来的二叉树一定c=a+1,我们要做的只要添加度为1和2的节点就可以,那如何让深度最小呢,那我们肯定要贪心的策略,尽可能先放度为2的,这样在一层的节点可以最多,在实现的时候,我们不需要创建一颗树,我们用curr和next保存当前深度和下一深度的节点树,然后迭代遍历即可。要求你构造一棵树,树有三种节点,a个节点有两颗子树,b个节点有一颗子树,c给节点是叶子节点,求这样一颗树的最小深度。codeforces刷题日记。

2024-04-22 08:57:34 167

原创 CodeForce[1500-2000]——1950E Nearly Shortest Repeating Substring

从1到n遍历k的长度i,如果i整除,就跳过,这时s被分成了n/i段,取出第一段和最后一段。如果这两段相等,那其他段必定和这两段一样(不一样的值字母允许存在一个),才符合条件。要是这两段不一样,那其他段(包括两段中的另一段)必然和两段其中一个一样。给你一个长度为n的字符串s,要寻找一个长度最小的字符串k,能够让字符串k进行1或多次的拼接,让拼接成的字符串和字符串s长度相等,且至多一个字母不一样。codeforces刷题日记。

2024-04-20 19:31:46 232

原创 CodeForce[1500-2000]——1945E Binary Search

先直接上结论,对p直接使用二分,最终如果l的值对应x那我们就输出0即可,那如果l对应位置元素不是x,那需要交换的元素就是p[l]和x。为什么这样是正确的,首先我们看二分的逻辑只有当p[m]<=x时才会将l指针移动到m上,意味着最终l对应的元素一定是<=x的,而我们二分移动r和l的判断依据就是是否<=x,x和p[l]都是<=x的,所以不会改变原来二分的流程,即我们将l位置上元素和x交换,如果重新二分,和原来直接对p二分,对应l位置一样。输出交换次数和交换位置i,j。codeforces刷题日记。

2024-04-19 14:37:40 216

原创 CodeForce[1500-2000]——1945F - Kirill and Mushrooms

codeforce刷题日记

2024-04-18 15:16:16 239

原创 CodeForce[1500-2000]——1946C Tree Cutting

求最小值的最大,很容易想到二分法,二分最小联通块的节点数x,利用dfs将树分块,当块数量达到x时就分下一组,如果最后一组没达到x,就组数+1,让最后一组和到前面的组中,再利用组数和k比较,进行二分判断。给你一个n个节点的树,将树的k条边移除,剩下的最小的联通块的节点数量为x,现在要求出x的最大值。Ccodeforce刷题日记。

2024-04-17 20:23:25 263

原创 CodeForce[1500-2000]——1946D Birthday Gift

要让最终值尽可能小,你或运算最好高位都是0,异或要得到0,那段中的每个数的那一位的1为奇数个,那我们就从每个数的最高位进行,从第一个数开始,如果改位为1的个数达到偶数/0,就分成一组,若是奇数个1就继续收纳数,用open来表示当前正在收纳的组是否闭合完成收纳。题目大意:一道位运算有关的题,题目大意是给一个长度为n的整形数组,要求将其分成连续的k段,让每段的元素异或后的结果进行或运算,要让这个值<=x,求k的最大值。问题难点在分成k段的依据是什么,如何让运算的结果最小?codeforce刷题日记。

2024-04-16 17:55:39 159

原创 CodeForce[1500-2000]——1948D Tandem Repeats?

给你一个只有小写字母和问号的字符串,可以在头或尾删除任意长度,得到一个字串,并且该字串要满足长度为偶数,前一半和后一半(问号可以匹配任意字符)相等,求这样的字串的最大长度,若不存在则输出0。:利用双循环:第一层循环遍历该字串长度,第二层从前往后遍历,看是否存在该长度的字串。字符串长度不超过5000,时间复杂度可以到n方。

2024-04-15 20:23:37 158 1

原创 Webshell&一句话木马

eval将一个满足php代码格式的字符串当作代码执行。虚拟终端、文件管理、数据库管理、数据配置管理。creat_function()匿名函数。一、webshell介绍(网页木马)大马:体积大、隐蔽性差、功能多。一句话木马:代码简短,灵活多样。小马:体积小,隐蔽强,功能少。变形的目的:绕过防火墙的查杀。变形方法:(要会举一反三)@:不显示函数错误信息。

2024-02-06 00:09:01 659 1

原创 WEB-HTTP协议

工作在应用层,通过HTTP实现数据在internet上发生和接受。user-agent:mazilla/5.0+引擎版本+浏览器版本。协议部分+域名/ip地址+端口+虚拟目录+文件名+参数+锚部分。accept-encoding:客户端浏览器支持的文件压缩格式。accept-language:en英文 zh中文。content-type:发送的实体数据的数据类型。其他:cookie 、referer。accept:客户支持的文件类型。开始行+首部+空行+主体。HTTP使用TCP协议。

2024-02-04 21:56:29 255 1

原创 MYSQL基础&&用PHP操作MYSQL

增:insert into student(name,age) value('suryxin',22),(),();改:update student set name='suryxin' where age=22;删:delete from student where age>20;查:select * from student where 条件;create database 数据库名;drop database 数据库名;

2024-02-03 22:50:18 575 1

原创 Wireshark抓包(TCP/UDP/ARP/DNS/DHCP/HTTP)

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。在任何时候,一台主机有IP数据报文发送给另一台主机,它都要知道接收方的逻辑(IP)地址。但是IP地址必须封装成帧才能通过物理网络。这就意味着发送方必须有接收方的物理(MAC)地址,因此需要完成逻辑地址到物理地址的映射。而ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。

2024-02-02 13:13:20 5592

原创 计算机网络基础-网络层

主机A的子网掩码为255.255.255.0将该掩码转换为二进制就是∶111111111111111111111111 00000000将以上两组二进制的数进行“与运算”的结果是:00000001 00000001 0000000100000000将这个“与运算”的结果转换为点分十进制的数就是∶1.1.1.0这样我们就得到了两组“与运算”的结果,分别是∶192.168.0.0和1.1.1.0。“结果3”与“结果4”相同,证明目标地址1.1.1.5处在路由器的F0/1接口所在的网络B。

2024-02-01 21:01:40 1450 1

原创 CTF-Web-信息搜集

在网站使用过程中,往往需要对网站中的文件进行修改、升级。当备份文件或者修改过程中的缓存文件因为各种原有被留着网站web目录下,而该目录又没有设置访问权限,极有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全埋下隐患。:Web指纹是一种对目标网站的识别技术,通过识别网站所使用的服务器、运行的脚本、安装的CMS等信息对目标进行精准的分类和定位。通过对目标网站的指纹信息可以判断目标网站使用的内容管理系统(CMS)名称等,方便后续的信息搜索。1、.git导致的源码泄露。

2024-01-31 23:02:30 350

原创 Linux基础命令与权限控制

Bash是linux中默认使用的shell程序,位于/bin/bash目录下。cat 文件1 文件2>文件3 把几个文件附加到别的文件。head [选项] 文件名 :查看文件前几行内容。rmdir [选项] 目录名 :只能删除空目录。cat [选项] 文件名 查看文件(小文件)more [选项] 文件名 :分页显示文件内容。Ls [选项] 目录名 显示当前目录下文件。touch [选项]1.txt 创建文件。mkdir [选项] 目录名:创建目录。tar [选项] 源文件或目录/压缩包。

2024-01-31 10:37:02 856

原创 电子数据取证-存储介质检验概述

一、电子数据取证专业名词术语1、未分配空间系统临时文件(temp)、访问临时文件、文档编辑时产生的临时文件。2、历史记录:浏览器、IIS访问、操作系统、防火墙3、未分配簇文件系统中没有被任何文件占用的数据块#未分配空间可能也有未被覆盖的数据4、文件残留区簇:文件存储的最小单位,簇由多个扇区组成5、隐藏文件的方式硬盘加密(bios加密)、压缩包加密 、Bitlocker加密、office文件加密、虚拟容器加密、修改文件拓展名、EFS文件加密(不能发给别人,只能自己查看)、信息隐写6、散列值。

2024-01-26 20:20:11 237 1

原创 Python-四大容器-集合

Python 还包含了一个数据类型 —— set (集合)。集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。集合对象还支持union(联合)difference(差)和sysmmetric difference(对称差集)等数学运算。

2024-01-26 16:57:09 674 1

原创 Python-四大容器-list列表

如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量。str:表示为分隔符,默认为空格,但是不能为空(’’)。用法:连接任意数量的字符串(包括要连接的元素字符串、元组、列表、字典),用新的目标分隔符连接,sep_object:分割对象,可为字符串、以及储存字符串的元组、列表、字典。方法用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。方法用于统计某个元素在列表中出现的次数。

2024-01-26 16:47:31 403 1

原创 Python-可变对象和不可变对象

其实并不是,输出结果应该是[[2,2,3],[2,2,3],[2,2,3]],因为我们定义b变量时,其实三个元素都是应用[1,2,3]所存储的空间,而我们修改a[0]时,应为列表是可变类型,所以我们修改a[0]时,a任然引用原来[1,2,3]的空间,而我们改变成[2,2,3]后,还是在那片空间,所以我们的b的a应用的值就都变成了[2,2,3]上面这段代码的输出结果是什么,是[[1,2,3],[1,2,3],[1,2,3]]吗?Eg:整形、浮点型、复数、字符串、逻辑值、元组。Eg:列表、字典、集合。

2024-01-26 15:37:01 299 1

原创 CTF-MISC-压缩包解密

组成:标记块、压缩文件头块、文件头块及结尾块开头:十六进制编辑器打开:0x526172211A070100记事本打开:Rar!十六进制编辑器打开:0x504B0304记事本打开:PK压缩包文件尾部经常可能会被做手脚,要看看文件尾是否有额外的信息。

2024-01-22 15:34:52 2327

原创 算法竞赛最最最常用的8个C++算法

如果当前排列已经是全排列中的最后一个排列(元素完全从大到小排列),函数返回 false 并将排列更改为全排列中的第一个排列(元素完全从小到大排列);否则,函数返回 true。将当前排列更改为全排列中的下一个排列。

2024-01-11 12:56:14 1342

原创 DFS深搜刷题总结

优先考虑深度换句话说就是一条路走到黑,不撞南墙不回头,直到无路可走的情况下,才会选择回头,然后重新选择一条路。运用:回溯对回溯不了解的,送上传送门——>二、先上基本的模板。

2024-01-08 12:47:16 612

原创 STL(自用)

赋值:v1.assign(array.begin(),array.end());插入:v.insert(pos,elem) pos不能是下标是指针。Vectorv3(v1) 用v1初始化为v3。Vectorv2(n,m) 存放n个m元素。v.insert(pos,begin,end) 左闭右开,如数组区间。带参定义vectorv1(array,array+n);Set.find(elem) #找不到返回end。末尾插入:v.push_back(elem);

2024-01-04 21:02:48 425

空空如也

空空如也

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

TA关注的人

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