- 博客(80)
- 收藏
- 关注
原创 从零开始的Python教程
从零开始的Python学习之前有写一篇C++的入门教程,但是很多朋友对C++不感兴趣,表示都想学Python,所以本系列开始更新。C++暂时停更。以下章节写给需要速成的初学者Basic ConceptsControl StructuresFunctions & ModulesObject-Oriented Programming以上每章节内容都是很重要的,而且信息密度会很...
2020-04-23 19:02:41 216
原创 linux里常用的软件 (CentOS、Ubuntu、Manjaro甚至会包含MacOS)
linux里常用的软件(甚至会包含MacOS)众所周知,Linux有很多分支,这里只收录 CentOS Ubuntu 和 Manjaro,基本可以代表 RedHat, Debian ,Arch 三个系的Linux,选择这这三个系统的原因是自己都使用过,一些比较好用的可以作出推荐。我的Linux系统版本:CentOS:Ubuntu:[图片]Manjaro:[图片]上面两个系统装在台...
2020-04-17 00:35:40 1761
原创 Windows 设置环境变量
Windows 设置环境变量环境变量是什么环境变量是一种在系统里的变量,可以理解成一种属性,就放在那,有需要的程序就会去读,类似写代码里的全局变量通常用作,程序运行时的一些参数环境变量分为User和Machine,User是某个用户的,Machine就是所有用户都可以用的环境变量还可以分为临时和永久,临时的优先级更加高,且两者不会相互覆盖举个经典的栗子,Java安装的时候,需要自己手动配置环境变量,非常头大但其实Windows可以通过命令行设置假如我们需要设置JAVA_HOME这个环
2021-09-09 10:19:40 1476
原创 简单的SQL注入 -- dvwa
简单的SQL注入 – dvwa以 dvwa的 low-level为例文章目录简单的SQL注入 -- dvwa布尔注入Injection CodeResult联合注入1.确定字段数Injection CodeResult (错误信息)Result (正确信息)2. 找到数据库名称Injection CodeResult3. 找到数据库内的表名Injection CodeResult Code4. 找到表的字段Injection CodeResult5. 找到敏感信息Injection CodeResu
2021-03-22 17:37:59 518
原创 OWASP top10
OWASP top10因为网上top10众说纷纭,于是我去owasp官网找到了最新的top10,官网连接,有任何问题,请参考官网。Injection. 注入Injection flaws, such as SQL, NoSQL, OS, and LDAP injection, occur when untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can
2021-03-20 10:31:12 339 3
原创 nmap 命令
nmap 命令主机扫描-sL List-sn Ping 禁用端口扫描-P0 ip协议-PS/PA/PU SYN/ACK/UDP-n 不做DNS解析扫描技巧-sS 快速扫描 SYN-sT tcp connect()扫描-sA ACK-b FTP 弹跳扫描端口规格和扫描顺序-p 扫描端口-F 快速模式-r 端口连续扫描服务版本探测-sV 扫描版本--version-intensity <0-9> 指定扫描强度,默认7--version-light: 轻度
2021-03-13 19:08:02 132
原创 安装arch总结
安装arch总结分区找到你的磁盘fdisk -l比如这里是/dev/sda是磁盘用fdisk分区fdisk /dev/sda进入 fdisk, 输入 g 选择 GPT 分区表,然后用 n 创建分区,注意需要一个 EFI 分区,一个或者多个 Linux filesystem 分区。当然内存不够可以整个交换分区,看 Arch Linux Installation Guide。最后输入 w 保存。假设有2个分区了:EFI分区 /dev/sda1根分区 /dev/sda2注意/dev
2021-02-11 20:05:59 275
原创 常见端口对应服务
常见端口对应服务端口号服务备注21ftp22ssh23telnet远程登录(明文)25SMTP简单邮件传输协议53DNS域名解析服务器67Bootstrap Protocol Server引导程序协议服务端68Bootstrap Protocol Client引导程序协议客户端69FTFP简单文件传输协议80HTTP109POP2110POP3111RPC远程过程调用服务
2021-02-07 15:38:30 505
原创 Dataframe用sqlalchemy连接数据库
Dataframe和sqlalchemy连接数据库to_sql常用参数:参数简介name表名consqlalchemy的engine对象if_exists存在同名表的处理方式(fail, append, replace)index保存df的index列官方文档举例:import sqlalchemy as sa# 连接信息username = 'root'password = '12345'ip = '123.123.123.123'p
2021-01-07 10:18:51 462 2
原创 docker 多开端口
修改Docker config文件的坑有一个容器之前只开了一个端口,现在要多开一个端口。首先关闭dockerservice docker stop先进入docker的container里面cd /var/lib/docker/containers/AAA这里 AAA 是 container ID注意可能会没有权限chmod -R +wrx /var/lib/docker/containers/AAA更改两个文件首先我需要的是打开docker内部的3306端口,映射到8086端
2020-11-18 21:55:49 2171
原创 记录 Shell坏了怎么办
记录 Shell坏了怎么办事情是这样的,在我上课的时候,因为fish好像坏了,我就直接删掉,然后因为之前设置的fish为默认shell,结果就根本打不开。然后我想到打开bash去修改。还好现在有GUI,服务器上出这种事,估计只有重装。故事开始打开/bin/bash输入命令source /etc/profile/bin/bash然后就进了bash,我想着,反正fish坏了,那就先删了吧。brew uninstall fish注意: 这里如果改了默认shell还没后面那么多事,可恶!!
2020-11-16 15:30:29 292
原创 Fish神教
Fish神教the FrIendly SHellFish非常易用,自带自动补全,还有一堆主题。特点是开箱即用,不用zsh那么繁琐的配置。好!很有精神!Fish安装:Ubuntu =>sudo apt-get install fishmacOS =>brew install fish注意可能需要手动添加fish 这个shell哦sudo vim /etc/shells最后一行添加/usr/local/bin/fish命令fish切换到这个shellfishomf
2020-11-08 02:02:16 241
原创 VsCode远程 + Ubuntu + Vue
VsCode远程 + Ubuntu + VuePreface故事要从很远很远的地方说起,所以就长话短说。主要因为要写Vue,但是自己的电脑总有点问题,会出现莫名其妙的错误,想想算了,直接在Ubuntu的服务器上开始写,依稀记得VsCode可以远程连接到服务器上,然后写代码什么的,所以把这个过程记录成文章。Ubuntu 18.04node v8.10.0npm 3.5.2Vue 3.6.01.install Node.js# update the apt-get firstsudo
2020-11-08 01:23:00 605
原创 蓝桥杯算法训练 素因子去重
蓝桥杯算法训练 素因子去重这个题不难,是我对书理解不透彻,把一个习题经验用错了地方,故记录成博客,告诫自己。错误之处:int pri[12] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31};在《算法进阶指南》里,约数那一部分提过一个引理:1~N中任何数的不同质因子都不会超过 10 个,且所有质因子的指数总和不超过30。证明:最小的11个质数的乘积2×3×5×7×11×13×19×23×29×31>2×1092\times3\times5\times7
2020-10-06 22:36:34 190 2
原创 numpy求解多元线性方程
numpy求解多元线性方程假设给定多元线性方程如下:y=w1x1+w2x2+by = w_1x_1+w_2x_2+by=w1x1+w2x2+b给定数据如下:D={([1,2],1),([2,3],1.5),([5,8],2)}D = \{([1,2],1),([2,3],1.5),([5,8],2)\}D={([1,2],1),([2,3],1.5),([5,8],2)}方程可以写成:[121231581]×[w1w2b]=[11.52]\begin{bmatrix} 1 &a
2020-09-26 16:40:31 1053
原创 货仓选址问题
货仓选址题目描述在一条数轴上有N家商店,它们的坐标分别为 A[1]~A[N]。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行一个整数N,第二行N个整数A[1]~A[N]。输出格式一个整数,表示距离之和的最小值。样例input46 2 9 1output12数据范围与约定对于100%的数据: N<=100000, A[i]<=1000000题目很简单
2020-09-22 14:29:39 1193
原创 C++ STL
C++ STL常用的 STL 头文件如下文章目录C++ STLvectorqueuedeuqesetmapbitsetalgorithmvector简单来说vector是一个动态数组,数组长度可变。和数组一样支持随机访问 [] ,对比数组增加了一些函数:size/emptysize函数会返回vector的元素个数,empty会返回一个bool类型,表示vector是否为空*所有的STL容器都支持这两个方法,含义也相同,后面不再重复给出clear清空vector数组begin/
2020-08-14 14:05:42 130
转载 博弈论的算法总结
常见博弈算法模型总结转载自大佬博客文章目录常见博弈算法模型总结博弈:常见的博弈:巴什博弈:威佐夫博弈:尼姆博弈(Nimm Game):博弈:博弈论又被称为对策论(Game Theory),既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈,具体的例子就是下棋,双方都考虑最有利于自已的步骤,但是最终必有一方输,一方赢。博弈的策略:参与者在行动之前所准备好的一套完整的行动方案,就是想好下完这步棋,对方会如何下,以及接下来该如何下,最终得出结果。常见的博弈:博弈:合作博弈和非合作博弈
2020-08-13 15:23:54 10224 1
原创 Who is better?
Who is better?题目看懂了就很简单,首先是给你a和b,看能不能找到这样一个n满足上述关系。用中国剩余定理来求。如果找不到就是"Tankernb!"找到的话就用 斐波那契博弈论 的结论。石头数 为 斐波那契数的话 先手 必败。思路是先算n,然后计算斐波那契数。#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include
2020-08-05 17:18:49 186 2
原创 中国剩余定理模版
#define ll long longll n,i,fail;ll a,b,lcm,now,k,d,x,y;ll exgcd(ll a,ll b,ll &x,ll &y){ if(!b) {x=1; y=0; return a;} LL c=exgcd(b,a%b,x,y),z=x; x=y; y=z-y*(a/b); return c;}ll CRT(int n){ //n 表示n个方程组 scanf("%lld%lld",&
2020-08-05 16:48:33 102 2
转载 平面图的基本概念及性质
平面图的基本概念及性质前言:内容来源这篇博客 原文链接为了免去跳转麻烦,直接复制博客内容过来。基本概念平面图:设无向图G,若能将G画在一个平面上,使得任何两条边仅在顶点处相交,则称G是具有平面性质的图,简称平面图,否则称G是非平面图。在平面图G中,G的边将其所在的平面划分成的区域称为面,有限的区域称为有限面或内部面,无线的区域称为无限面或外部面,包围面的边称为该面的边界,包围每个面的所有边组成的回路长度称为该面的次数(桥计算两次)。由定义易知:如果一条边不是桥,那它必是两个面的公共边界桥
2020-08-01 00:19:30 5077
原创 离散化最妙写法
离散化最妙的写法 map<int,int> m; for(int i=0;i<n;i++){ scanf("%d",&x); x = m[x] ? m[x] : (m[x] = ++tot); }
2020-07-12 11:36:23 207
原创 C++递归过程中出现的问题
C++递归过程中出现的问题文章目录C++递归过程中出现的问题提出问题发现问题:作出假设解决方法总结提出问题一个蛮有意思的问题,朋友问我的。先看遇到问题的代码#include<iostream>using namespace std;int a[5] = {1,2,3,4,5};int f(int i){ if(i < 5) return a[i]+f(i+1);}int main(){ cout << f(0) << endl;
2020-07-03 00:21:24 839
原创 Latex数学公式语法
Latex数学公式语法自己写一下,方便你我他。下标_2^3 + 3^3+ 4^3a1+a2+...+ana_1+a_2+...+a_na1+a2+...+an上标^23+33+432^3+3^3+4^323+33+43分数\frac{1}{2}12\frac{1}{2}21
2020-06-30 11:44:29 553
原创 来 看 T r i e 吧
来 看 T r i e 吧Trie 念做 try,就是字典树。是一种主要用于字符串快速检索的多叉树结构const SIZE = 1e4+5;bool end[SIZE]int tire[SIZE][26], tot = 1; //假设只有小写字母 void insert(char s[]){ int L = (int)strlen(s),p = 1; for(int k=0;k<L;k++){ int ch = s[k] - 'a'; if(tire[p][ch] == 0
2020-06-28 03:03:16 204
原创 数组模拟二叉树
数组模拟二叉树二叉树嘛,仔细想一下。显而易见有以下结论:节点左儿子右儿子1232453674895101161213………n2n2n + 1所以我们可以直接开成数组的形式。因为对于一个i而言,左儿子是2i,右儿子是2i+1假设我们需要N个节点,那需要多大的空间?稍微算一下就知道了 2N - 1自己需要开N个,所有的父节点需要开 N-1个。又因为a[0]是不能用的,所以最少需要开a[2N]。
2020-06-28 02:25:00 831 2
原创 数组模拟实现链表
数组模拟实现链表为什么不写成struct?因为写法麻烦,效率低。体现在每次需要new一个内存,new的过程非常耗时,可能1s的时间会画在new上面直接上代码,看着代码解释好了const int N = 1e5+5;int a[N],idx,head;// 事先申请一块大小为 N 的int类型的内存// idx++ 模拟申请一块内存,idx-1表示链表长度// 这些节点可能 逻辑上相邻,物理上也相邻。int nxt[N];// nxt[i] 记录着i号节点的下一个位置,同理可以写 pr
2020-06-28 02:06:38 227
原创 来看排列组合嘛
组合数的逆元写法看别人的没看明白,顺着自己思路写了一下其实也没什么好讲的,就是公式的写法,打表了 n!,还有对应的逆元inv。组合的公式: Cnm=n!m!(n−m)!C^m_n = \frac{n!}{ m!(n-m)!}Cnm=m!(n−m)!n!之后把分母换成对应的inv就行了问题: 给定n,m 求CnmC^m_nCnm#include <iostream>#define ll long longusing namespace std;const int N = 1
2020-06-28 01:37:17 193
原创 算法竞赛进阶指南练习 0x18
POJ 2823 Sliding Window这个题大方向想到了,但是没想到要删除队尾的元素来维护单调性。后来测试数据的时候发现之前的写法有问题,想了一圈不知道应该改哪里,后来还是去搜了一下别人的思路,发现需要维护队尾的单调性。最后借鉴的标答的代码,写的真的简洁,比其他人的都短好多。除了单调队列,这个是不是还可以用区间dp,线段树。但我觉得可能会超时吧。#include <iostream>#include <cstring>#include <algorithm
2020-06-23 20:52:25 286
原创 二分图的匹配问题 以及 相关算法模板
二分图的匹配问题以及相关 算法模板二分图的判定 染色法染色法原理:首先任意取出一个顶点进行染色,和该节点相邻的点有三种情况:1.如果未染色,那么继续染色此节点(染为另一种颜色)2.如果已染色但和当前节点颜色不同,则跳过该点3.如果已染色并且和当前节点颜色相同,返回失败(该图不是二分图)明确二分图、奇数环、染色法之间的关系:如果一个图中存在奇数环,那么这个图一定不是二分图;这一点显...
2020-06-19 15:48:48 164
原创 算法竞赛进阶指南练习 0x08
The Pilots Brothers’ refrigerator占卜DIY思路很简单,模拟一遍就行,但是我自己写的太丑了,看懂别人的以后重写了一遍,真的妙啊,人都升华了。#include <iostream>#include <cstring>#include <iostream>#include <cstring>#include <algorithm>#include <cmath>using namespace
2020-06-14 19:01:04 549
原创 CodeForces EDU 89 div.2 D
CodeForces EDU 89 div.2 D这个题其实不难,想一下就容易想到了,但是我没想到????巨佬的原文const int N = 5e5+5;const int M = 1e7+7;int n;int a[N],b[N],c[N],L=0;int v[M];void prime(int n){ for(int i=2;i<=n;i++){ if(v[i]==1)continue; for(int j=i*2;j<=n;j+=i
2020-06-12 17:35:43 197
原创 简单的python爬虫(三)
简单的python爬虫(三)文章目录简单的python爬虫(三)爬虫框架图片爬虫网页分析代码解释全部代码后记爬虫框架上文简单说了一下爬到网页之后的内容提取,但是感觉十分麻烦。所以再正式开始爬取图片之前,我先介绍一下 爬虫框架,这里要说的是 BeautifulSoup4。别的先不说,直接看结果:再看代码,你就知道用框架有多方便import requests as rqimport refrom bs4 import BeautifulSoup as bsfrom bs4 import S
2020-06-11 22:02:42 302 2
原创 简单的python爬虫 (二)
简单的python爬虫 (二)上文我们说到了怎么爬到网页,但是其实我们最关心的还是怎得到我们需要的数据?比如我们需要提取 相关文本 来确定安徽的疫情情况,也就是下面的正文部分网页分析我们首先需要知道这段文字在哪里按 f12可以看到这里有3个 p标签,分别对应了三个段落这里以一个p为例,打开p标签,刚好发现这里有很多span的标签,而每个span里面就是我们需要的文本2020年 5 月 31 ……后来实际操作的时候发现,他不是所有的都是用的span标签,有些是<font>
2020-06-08 12:16:08 1212
原创 CF Round648 div2 C Rotation Matching
CF Round648 div2 C代码太妙了,我直接复制了别人的来因为转载要链接,就发原创了,但是代码不是我写的ans是第几圈,ji很好看出来是位置#include <cstdio>#include <iostream>#include <iomanip>#include <string>#include <cstdlib>#include <cstring>#include <queue>#incl
2020-06-08 00:03:10 245
原创 简单的python爬虫
简单的python爬虫最简单的python爬虫爬虫是机器模拟人的方式去访问网页Q: 人是怎么访问网页的?A: 我们是使用的浏览器,浏览器会发出一个请求(Request),然后服务器收到 request 以后,把相关的内容返回(缓存)到本地,之后浏览器再把这些缓存内容渲染(解析)成我们看得到的样子所以简单概括一下,爬虫就是会向浏览器发出一个请求(Request),然后服务器把相关的内容返回到我们本地。牛刀小试这里以安徽省卫生健康委员会的网页为例,它就是我们今天的受害者目标网页 http:/
2020-06-05 20:03:18 325
原创 利用python进行显著性分析
利用python进行显著性分析实验数据做的是朋友的 呃呃植物什么什么实验 ,相关数据已经打码,最右侧的一列是 spss 的显著性分析的结果代码最终设想是能实现和 SPSS 一样或者近似的结果用到的库是scipy,用于处理数据(皮尔逊相关系数) scipy一点点的介绍pandas 读取Excel表import scipy.stats as statsimport pandas as pddef i_max(l): # 求出最大的数的下标 m = 0 for i
2020-06-05 19:11:05 6962
转载 Scipy
Scipy原文出处 https://www.jianshu.com/p/1a3db06e786d,因为内容太多,我只节选部分复制了一点scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,统计,特殊函数等等。scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C++科学计算库),或者Matlab工具箱。scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。
2020-06-05 12:21:00 358
原创 高精度算法
高精度算法高精度加法求a + b#include <iostream>#include <cstring>using namespace std;const int N = 1e6+6;int a[N],b[N],c[N];char s[N];int L;int la,lb;void add(int *a,int *b){ int t; for(int i=0;i<la||i<lb;i++){ t = a[i]
2020-06-05 08:43:17 287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人