算法大挑战
算法大挑战

算法大挑战

一、前记(2/3) 差点这个星期的blog也给咕咕了。数学强化学到积分那里好难。还好坚持下来今天搞定了(意味着高数上的内容全部搞定),晚上把我的apple pencil充上电再总结一下高数上的内容。(美滋滋!!!)专业课肝到线性表就觉得好烦,书本是使用C or C艹进行讲解的,我一个Python简直顶不住。语法什么的也太不一样了吧。不过还好,数据结构以前的呃内容都还是记得到,不难不难。 二、题目描述u1s1,这个题如果是C来写的话,我个人觉得可能会比较麻烦,可能会创建一个新的数组外加双指针来解决问题(只是猜想,还没有具体的验证)。但是在Python里面就不用去考虑这些有的没的。 三、解题思路

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(1/3) 最近有在认真的学习。最近把CISCN的报名弄完成了一下,这就标志着有可能是大学里最后一场网络安全竞赛就要来了。(爷青结😢) 另外,下个星期会有一些事情,所以“算法大挑战”系列会停止更新一个星期。在下个星期会把剩下的时间对以前做的算法进行一个整理归纳,还有就是把咕咕咕的几篇blog给赶出来。 二、题目描述 这道题我在看的时候就感觉奇奇怪怪。作为一个CRYPTO手,我一般要得到平方根的结果直接就是:import math,来进行各种数学运算。但是在这个里面应该是要学习一些算法吧。 三、解题思路 1、我的思路 方法一:调用math库

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(3/3) 嘿嘿!非常不好意思,这一篇算法咕咕了一天,还好今天有认真的做人。因为最近有好多的聚会(外公过86岁生日)和比赛(WMCTF),所以这一篇blog在上个星期就没有来得及写。这个星期要好好做人了,上个星期过的太快乐了。争取留下时间可以和女朋友去一趟重庆耍。 二、题目描述三、解题思路 1、我的思路 我的思路比较取巧,应该算是懒人专属。二进制转十进制的过程就不必叙述了,不难,不会的可以上网去百度一下。首先第一步:就是先将索引顺序转换成正确的运算顺序[::-1]。第二步:

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(2/3) 今天尝试了一下将pycharm里面的代码直接传到Github上,还是比较方便的,感觉多了一个生产力!!!(嘿嘿)可惜最近没啥项目可以传到GitHub里面,之前写的大数据网站和python爬虫的东西都删掉了(可惜可惜)。以后会慢慢地写一些大一点的项目,写完之后会传到GitHub上面。 二、题目描述三、解题思路 1、我的思路 其实我的思路比较简单:list不能直接转化成int。那我先将list转化成str,再将str转换成int。再做一个简单的+1算法,最后int->str->list就完成了。 但在这里我学到了一个非常有意思的函数--map(

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(1/3) 嘿嘿,今天没啥想复习的念头,趁机把博客整理了一下,把“算法大挑战”这个系列单独列了出来。博客就没有那么杂乱无章了。 二、题目描述 我觉得在示例那个位置应该再举两个例子出来: 示例: 输入:“” 输出:0 输入:“happy” 输出:5 三、解题思路 1、我的思路 其实这道题我一开始写错了,我以为题目的检查机制都是正常的字符串,像:“hello

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(3/3) 今天完成了本周的算法任务,这样一路一路的坚持下来还挺不容易的,希望自己能坚持下来。这周学习到了两个非常重要的算法:第一个就是上次见到的非常有意思的KMP算法(会单独拿出来专门写一篇blog)。一个就是今天学习到的二分法。其实第一次见到二分法应该是在大一的时候,但是都已经记不得了,今天这个题目刚好可以使用二分法进行解决。 二、题目描述三、解题思路 1、我的思路 我的思路特别的常规。因为给的数组是一个顺序数组(从小到大),就按照顺序进行比较。当target<=nums[i]的时候就找到了适合target的索引值,返回i的值就可以。但是在这里一定要注意一点,

  • aaaaa
算法大挑战(KMP算法)
算法大挑战

算法大挑战(KMP算法)

一、前记(2/3) 浑浑噩噩,感觉每天的时间都不够用,到了12点总结的时候,发现还有一些题没做,还有一些东西没背(太烦!!)。数学题每天花上2,3个小时只能写上40道题左右,这在考研考试的时候怎么够用呢?单词背了就忘,好像每天都在和遗忘打仗。今天尝试着听了一下徐涛老师的考研政治,全程就是:我是谁?我在哪里?我在干嘛?如果到了后面还是这样不太好的复习状态,那可能会暂停一下“算法大挑战”这个系列。 二、题目描述 在这道题里面要注意几个点:1、haystack里面的有完整的needle字符串,而不是零散的字符。

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(1/3) 最近感觉特别地懈怠,大概丧了有两三天,书没有认真的读,题也没有认真的写。好在今天有及时的调整心态认真写题,要不然得继续丧下去。 二、题目描述u1s1,这个题目还是比较地好玩,这道题和上一道题也是有相似的地方。除了不能使用set()函数之外,其他地方我觉得思路都差不多,尤其是使用链表的这种方法。 三、解题思路 (1)我的思路 就是在nums里面,从左到右以此查找符合val的值,如果符合val的值,那么就删除。 #encoding:utf-8 class Solution(

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(3/3) 最近这两天天气都有一点阴晴不定的,希望大家都好好地保重自己的身体,别感冒了。今天还有一个好消息:考研数学我已经完整的复习一遍了。下一个阶段应该就到了强化阶段,开始要每天疯狂地刷题。(要开始苦逼了😢) 二、题目描述 在这个题里面有几个要点要特别注意:第一个就是给定的列表类型的,但是输出要求的是数组;第二个就是本身题目的要求:要没有重复的数值。 三、解题思路 1、我的解题思路 (1)u1s1,我的解题思路不是题目的要求。题目的标签要求是:数组,双指针。但是我的想法就是,

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(2/3) 果然之前留校一个人住宿感觉非常舒服,现在集中住宿导致我和室友的作息时间不太一样。惹不起惹不起,还是溜回家了。今天这篇blog是我在家里面写的,不得不感慨家里的机械键盘真好用,看显示器是真滴舒服。(啊哈哈哈哈哈哈) 二、题目描述三、解题思路 u1s1,这个题目我是真的没想出来,只有卑微地看了看网上的解题思路,才恍然大悟到:“原来Python也还是会有栈这种做法”。 其实我一开始主要是解决不了括号里面的逻辑问题,就是:“{()}”和“{)}(”这种的逻辑问题,我们都知道第一个是对的,而第二个是错的,但是我应该怎么用计算机的逻辑将这个判断出来呢?(莫法,确实Python没想到会使用到栈。但是现在这种方法我学会了!

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(1/3) 本周就结束了本学期的所有考试了,但还是有一堆作业(头疼)。现在进入了暑假,正是考研复习的“黄金期”。所以决定从这一周开始,到暑假结束,每周的算法题目降到3道/周(tcl,才坚持了一个4道/周的算法题目,我是懒(fei)狗(wu))。 二、题目描述三、解题思路 1、我的解题思路 u1s1,这道题确实把我难道了,题目里面给的范例是列表型的,但是又要把列表里面的每个单词拿出来,

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(4/4) 这周周末要考试,可能会停更blog一段时间。这次的题目非常有意思。 二、题目描述(u1s1,这道题的思路非常有意思) 三、题目分析 1、我的分析 在题目里面已经详细的描述了罗马数字在转换成数字的时候规则,即:最低位遇到4,9有特殊规则。因此我们可以使用Python3的字典,来对第i位和i+1位进行比较,如果第i位的数字小于第i+1位的数字,那么就是特殊规则(例:IV,IX)等,所以借此,

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(3/4) 呃啊......若不是作业太多我应该还可以再更新一下咕咕了好久的爬虫blog。最近事情好多,复盘省赛,写实验报告,考试复习,还要复习考研(修正带也用完了),基本都没有什么时间去放空自己了。 二、算法题目 这次做了一个比较经典的回文数题目 三、题目分析 1、我的分析 这道题和我第二道算法有点类似,直接就是将字符串倒序,然后看和原数字是否相等。如果和原数字相等就为回文数。在本题里面题目还加了一个条件(让题目变得简单了),如果是负数直接判定为False。 (Python3) ①转化成字符串 def

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前言(2/4) 最近是些事情太忙了,还是抽空写了一下算法题。这是本周的第二道算法题,也是算法系列里面的第二道题,希望自己可以加油坚持。 二、算法题目(这个题感觉不太难) 三、题目分析 1、我的分析 给了一个限定的条件32为有符号整数,也就是在整体上面进行旋转,无小数,但是有负数。Python3里面类型转换的优势可以立马体现出来。 #encoding:utf-8 class Solution: def reverse(self,x): if

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前言(1/4) 学习一下算法知识,感觉对以后都会有好处。目前定的任务是每周能做4道算法题,每次前言的位置都会打出(1/4)这样的样式,来督促自己学习。算法网站是leetcode,因为有很多人推荐。主要使用的语言是Python3。 二、算法题目 (u1s1,其实这个算法题把我稍微难到了一下) 三、分析 1、我的分析 这个算法因为给了一个实例,给了两个部分目标值(target)和一个数组值。我想的是我可以使用列表记录数组值的位置。以及target-num[i]

  • aaaaa
爬虫初学者的笔记(一)

爬虫初学者的笔记(一)

一、前记 疫情期间就已经想学习爬虫了,主要是考研外加在家躺躺(其实是太懒了)导致爬虫学习一直滞后。本学期我们开设了大数据的课程(终于来了一门良心课程),乘此机会,写一下爬虫的笔记。 二、前期准备 本次的爬虫的语言环境皆来自Python3.7,主要需要的依赖库有:BeautifulSoup,requests,re等(后面再有涉及到的库会再次说明)。操作系统为Win10,编译器是Pycharm专业版(其实是学生邮箱白嫖的) 三、一些爬虫以外的知识 因为爬虫的主要目的是为了能够获取到我们想要的网页信息,而网页主要是由HTML语言+CSS语言构建而成(有时候又会有JavaScript语言,但是不多),有时候我们会利用到这些语言里面的标签。

  • aaaaa
脱不来壳之Frida的使用(附2020年网鼎杯一道reverse题)

脱不来壳之Frida的使用(附2020年网鼎杯一道reverse题)

一、前记 使用Frida完全是因为2020年网鼎杯的时候一些道非常有意思的安卓逆向题(其实就是经过简单加密的题)。但是安装Frida的过程和做题过程我觉得还是应该记录一下。 二、frida 1、简介Frida是一个动态代码插桩框架,这里的介绍主要以应用在Android平台应用程序上。动态二进制插桩(DBI)是将外部代码注入到现有的正在运行的二进制文件中,从而让它执行额外的操作操作。DBI可以: ①访问进程内存 ②在应用程序运行时覆盖函数 ③从导入的类调用函数 ④在堆上查找对象实例并使用 ⑥Hook、跟踪和拦截函数等 2,安装过程Ⅰ、实验环境 Windows 10 python 3.7.3

  • aaaaa
tshark的作用和使用方式(附带例题)

tshark的作用和使用方式(附带例题)

一、前记 最近发现wireshark里面的tshark在提取数据方面比wireshark本身要好用很多。于是想着记录一下tshark的使用方法以及使用过程 二、tshark的使用方法其实在tshark -h命令下可以完整的看到tshark的整个用处。 TShark (Wireshark) 3.2.2 (v3.2.2-0-ga3efece3d640) Dump and analyze network traffic. See https://www.wireshark.org for more information. Usage: tshark

  • aaaaa
流量分析之冰蝎流量分析

流量分析之冰蝎流量分析

一、冰蝎介绍部分 “冰蝎”是一款动态二进制加密webshell客户端。简单的来说是菜刀,蚁剑的进化版。主要的文献在GitHub,先知社区,还有其他的地方。(主要参考链接:https://github.com/rebeyond/Behinder) 冰蝎加密的地方主要是在:$post=openssl_decrypt($post, "AES128", $key);非常典型的一个加密格式。 冰蝎过waf的过程如下: 1.首次链接一句话服务端的时候,客户端向服务器发起一个GET请求,服务器端随机生成一个128位的密钥,把密钥回显给客户端,同时把密钥写进服务器的session里面

  • aaaaa
CTF之机器学习

CTF之机器学习

一、前记 最近开始回归ctf了,想看看有关机器学习类的ctf译文。虽然现目前接触的比较少。但是越往后面肯定越是一个趋势。趁着现在总结一下。 二、大胆预测 机器学习在ctf中的考点应该会是建模模型进行预测,或者是生成线性函数进行预测。考点的形式应该不会太花,主要就是数据预测。(目前遇到的就是这样,往后遇到新的会及时更新) 三、储备知识 在我之前的博客有介绍一些基本知识(参考《 numpy和pandas的基本概念这一文》),重复的不再多说。今天补充的知识是使用numpy进行拟合曲线。 numpy在数据运算和数据处理方面独树一帜,这次介绍的是numpy里面的polyfit()函数和poly1d()函数。利用这两个函数我们就能将一些点拟合成一条曲线。 1、polyfit() polyfit(

  • aaaaa
机器学习之sklearn
永远不在调上的机器学习

机器学习之sklearn

一,前记铺垫了很久的基础知识终于到sklearn了。sklearn是Python里面利用机器学习的一个模块。 二,通用学习模型 在sklearn里面用很多机器学习的传统模型,像KNN,SVM模型。但是所谓的通用学习模型,就是大部分模型都能套用这一个模板对机器学习进行学习。 通用学习的模板步骤: 第一步:首先导入几个我们所需要的库 #encoding:utf-8 from numpy import * from sklearn import * from sklearn.model_selection import * from sklearn.linear_model

  • aaaaa
使用matplotlib对数据进行可视化
永远不在调上的机器学习

使用matplotlib对数据进行可视化

一、前记 在这里需要注意一个点,在程序开始的时候使用并非直接的matplotlib,而是matplotlib.pyplot。 二、用法(plot线型图)1、figure(窗口) ①figure代表的是一个窗口的意思,在一个figure()区域里面就可以建立一个窗口 #encodinfg:utf-8 from numpy import * from pandas import * from matplotlib.pyplot import * x=linspace(-2,

  • aaaaa
如何使用社区版XRAY和AWVS进行联动

如何使用社区版XRAY和AWVS进行联动

一、前记 今天使用了一下社区版的XRAY(听说是个非常厉害的工具),感觉非常不错看文档里面有与AWVS联动这一项。于是想着记录一下联动过程。 二、过程 首先打开AWVS:一般是在3443端口(我就是在这里忘了怎么打开的)。 1、创建一个新的扫描目标:http://testphp.vulnweb.com/(awvs的漏洞网站) 创建一个扫描目标2、添加代理服务器 3、选择一个模式 到这里awvs的设置就结束了 --------------------------------------分割线------------------------------------------- 1、在XRAY里面首先我们要先监听端口 .\xray.exe webscan --listen

  • aaaaa
numpy和pandas的基本概念
永远不在调上的机器学习

numpy和pandas的基本概念

一、前记 这两天一直在写项目,有些东西还真的值得记录一下。这里的所有东西都是在python3环境下面进行演示。 二、Numpy(安装过程省略) 1、作用 Numpy是一个支持大量的尺寸多维与矩阵运算的库。 2、array(中文意思就是:数组)格式:array(object,dtype= ,copy=True(False),order=None,subok=False,ndmin=0) 名称: object:

  • aaaaa
怎样才能在心力交瘁的情况下将Machine Learning神器——TensorFlow安装成功

怎样才能在心力交瘁的情况下将Machine Learning神器——TensorFlow安装成功

一、前记 这两天开始写项目了,但是暑假写的那些东西都已经忘的差不多了。现在想要花个3天的时间将这些内容回顾一下,趁着没事情可以将TensorFlow换成GPU版本的(原来我是CPU版本的,但是运算速度奇慢。有关于ML的东西还是使用GPU计算会更快更好),于是趁着最近有时间将我的CPU版本换成GPU版本的,现在记录一下避(lie)坑(kai)过程。 二、前期 1、环境 在这里我使用了Anaconda虚拟环境下的Python3.7.6,显卡是NVIDIA 1050 2、大概流程 安装Anaconda 检查自己电脑的GPU是否支持CUDA 升级自己显卡的驱动程序 安装正确版本的CUDA

  • aaaaa