简单梳理一下以前学过的排序算法 冒泡排序 平均时间复杂度:O(n²);稳定 比较相邻元素,如果前面的比后面大,就交换两个元素 每一对相邻元素做同样的比较,从开始第一对元素一直比到结尾,一轮结束最后的元素是最大的。 除了每轮比较出来的最大元素,对其他元素重复以上操作。 public void bubb ...
分类:
编程语言 时间:
2021-07-29 16:19:56
阅读次数:
0
pickle 模块可以对一个 Python 对象的二进制进行序列化和反序列化。说白了,就是它能够实现任意对象与二进制直接的相互转化,也可以实现对象与文本之间的相互转化。 比如,我程序里有一个 python 对象,我想把它存到磁盘里,于是我用 pickle 把他转到一个文本里。当后面我想使用的时候,读 ...
分类:
编程语言 时间:
2021-07-28 21:34:14
阅读次数:
0
java的安全问题首屈一指的就是反序列化漏洞,可以执行命令啊,甚至直接getshell,所以趁着这个假期好好研究一下java的反序列化漏洞。另外呢,组里多位大佬对反序列化漏洞都有颇深的研究,借此机会,努力学习,作为狼群中的哈士奇希望成功的继续伪装下去,不被识破,哈哈哈哈!!! 参考文档:感谢所有参考 ...
分类:
编程语言 时间:
2021-07-19 16:56:13
阅读次数:
0
内部排序是指在排序期间数据元素全部存放在内存的排序。外部排序是指在排序期间全部元素的个数过多,不能同时存放在内存,必须根据排序过程的要求,不断在内存和外存之间移动的排序。本次主要介绍常见的内部排序算法。 1. 直接插入排序 直接插入排序的算法思想是把待排序序列a[n]中的n个元素看作是一个有序表和无 ...
分类:
编程语言 时间:
2021-07-19 16:39:46
阅读次数:
0
算法方向分析 对于这题 \(\le 1000000\) 的数据规模显然只允许我们用一重循环。 最长,可见这是道最值问题。 最值问题可以用贪心,DP,二分…… 这道题我们用 DP 来做。 构建状态 首先,我们需要构建状态,状态的构建不是唯一的,受最长上升子序列的影响,我是这样构建的:令 \(f_i\) ...
分类:
其他好文 时间:
2021-07-19 16:39:33
阅读次数:
0
分析 令 \(dp_i\) 表示数列到目前为止最后一项第 \(i\) 位为 \(1\) 的最大子序列长度,每读入一个数时就大力转移。一个数可以被它所有的二进制位的 \(dp\) 值转移,然后把它转移到它的所有二进制位的 \(dp\) 值上。 复杂度 \(O(n\log_2n)\)。 代码 #incl ...
分类:
其他好文 时间:
2021-07-19 16:38:33
阅读次数:
0
前言 phar反序列化漏洞很久之前就开始接触了;因为当时出了点问题导致一直无法成功,所以当时直接去学习其他的漏洞了;今天觉得是时候把这个漏洞补上去了; 漏洞成因 phar文件会以序列化的形式存储用户自定义的meta-data;该方法在文件系统函数(file_exists()、is_dir()等)参数 ...
分类:
其他好文 时间:
2021-07-15 19:01:07
阅读次数:
0
CF1511E Colorings and Dominoes 这里提供一个不同的思路 我们考虑对于每对相邻的位置,单独地计算它的贡献 先只考虑横着的情况 我们发现只有当钦定的方格两旁红色格子数同偶时才会计入答案,贡献1(\((RR)\underline{(RR)}(RR)\)) 而异奇偶时贡献1/2 ...
分类:
其他好文 时间:
2021-07-15 18:56:41
阅读次数:
0
C++ STL中的算法(Algorithms)作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。按照对容器内容的操作可将STL 中的算法大致分为四类: (1)只读算法:指不直接修改其所操作的容器内容的算法。 (2)可变序列算法:指可以修改它们所操作的容器内容 ...
分类:
编程语言 时间:
2021-07-12 18:25:22
阅读次数:
0
Go 语言数组 Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 相对于去声明 number0, number1, ..., number99 的变量,使用数组形式 numbers[0], n ...
分类:
编程语言 时间:
2021-07-12 18:22:21
阅读次数:
0