centos7搭建DVWA靶场
centos7 搭建 DVWA 靶场
github:https://github.com/digininja/DVWA
centos7:https://mirror.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ (这里采用tuna[清华源])
配置centos基本环境
配置sudo
刚装好的centos默认用户不在sudo列表中
123456su //提升到root权限vim /etc/sudoers //编辑sudoers,vim不习惯,可以用其他编辑/root ALL=(ALL) ALL //不是vim跳过,`/`表示搜索 在这行的下面impdx ALL=(ALL) ALL //`impdx`是当前的用户名wq! //不是vim跳过,强制保存exit //退出root用户
配置源
此处采用清华源 [可用中科大/网易/阿里/搜狐等]
具体参考:https://mirror.tuna.tsinghua.edu.cn/help/centos/
12345sudo sed -e 's|^mirrorlis ...
AcWing 836. 并查集(数组)
题目: https://www.acwing.com/problem/content/description/838/
先说一下本题思路
1.看清题目,主要有俩个操作,合并和查询 。 总体思路是找到俩个祖宗节点,并且把俩个祖宗节点相连(其实就是改p[a的祖宗]=b的祖宗 比如p[3]=4,p[3]=p[4]=4,他们的祖宗都是4,)
2.合并是在一个数组中,利用下标和他所指向的值,如果他所指向的值一样,那么就是一个集合。用下表来记录具体数据。
3.查询直接查询祖宗节点,很好理解,就是比如说查询x,他就会查询p[x]的值,如果和x不一样,会查询find[p[x]]的值,这里有点绕,x如果和p[x]的值不一样,就查询find(p[x]),一个个找,找到祖宗节点,就是x和p[x]一样的节点,原始节点。
主要操作就是针对于祖宗节点进行的。
题目难点(个人愚见):find函数,寻找祖宗节点的过程,下标和值的用法。
123456789101112131415161718192021222324252627282930313233343536373839404142434 ...
AcWing 787. 归并排序 && 注释 && 思路
原题链接
https://www.acwing.com/problem/content/description/789/
2021/4/19 21:10
思路
先分开,分成俩个组
用双指针遍历,小的放入tmp数组
如果有剩余,把剩余放入tmp数组
把tmp的数据替换到q数组中
后续会更新
123456789101112131415161718192021222324252627282930313233343536373839404142#include <iostream>using namespace std;const int N = 1000010;int n;int q[N],tmp[N];void merge_sort(int *q,int l ,int r){ if(l >= r) return ; int mid = l + r >> 1; merge_sort(q, l, mid),merge_sort(q, mid+1, r); // 分左边右边,俩组数据 int k = 0,i = l,j = mid ...
AcWing 798. 前缀和&&前缀矩阵&&差分&&差分矩阵 代码&注释&&原理
原题链接
https://www.acwing.com/problem/content/description/800/
前缀和 && 差分
一维前缀和&&差分
前缀和
1sum[i]=a[1]+a[2]+a[3].....a[i];
可以根据以上结果推出公式a[n] = a[n-1] + a[n]
差分
差分就是前缀和的逆运算。关系如下
如果 前缀和可以表示为f(x)=d 查分就是d=f(x)
具体看以下推理
1234567891011121314151617181920212223242526272829303132a数组: a1, a2, a3, …, anb数组:b1, b2, b3, …, bn**a数组是b数组的前缀和**a1 = b1;a2 = b1 + b2;a3 = b1 + b2 + b3;**a数组是b数组的前缀和**那么我们来看b=啥a[0]= 0;b[1] = a[1] - a[0];b[2] = a[2] - a[1];b[3] =a [3] - a[2];........b[n] = a[n] - a[n-1];… .. ...
AcWing 788. 逆序对的数量 && 图解
原题链接
https://www.acwing.com/problem/content/description/790/
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include <iostream>#include <cstdio>using namespace std;typedef long long LL;const int N = 100010;int n;int q[N],tmp[N];LL merge_sort(int l, int r){ if(l >= r) return 0; int mid = l + r >> 1; LL res = merge_sort(l, mid) + merge_sort(mid+1, r); //归并 int k = 0,i = l,j = mid + 1; while(i <= mid && j & ...
AcWing 165. 小猫爬山 c++ 思路&&注释
原题链接
https://www.acwing.com/problem/content/description/167/
思路
想法
1.排序优化 //可略过,不加也可以ac
2.让猫坐满一辆车
3.开新的车
4.重复2-3
具体代码思路(2-3步骤)
1.确定参数 (int u(第几只猫),int k(第几辆车))
2.跳出条件 (u==n) 当猫走完时,跳出,n为总得猫数量,已经枚举完最后一个猫了。所以跳出,为什么是u==n,因为数组是从0开始的,最后一个猫为n-1。
3.判断当前这只猫,简称u猫(判断u猫能不能放在之前的车中)
for循环,枚举第一辆车到现在所有的车
如果可以放得下u猫,则进入新的dfs(u+1,k)
(u+1,k),
可以放得下猫所以车辆数不变,k就不变,u猫被放进去了,下一只猫就是u+1猫。
12345678910for(int i=0;i<k;i++)//从第一辆车开始遍历,遍历到k辆车,如果可以塞下第u只猫则执行;{ if(a[u]+car[i]<=w) { car[i]+=a[u]; ...
AcWing 24. 机器人的运动范围 C++ dfs(附上思路与思考&&注释)
请注意:本文只包含dfs的内容 /如有错误或者意见,欢迎留言
总体思路
模拟机器人走路,在符合条件的情况下,上下左右走,走到符合条件的格子,标记/累加。走完即可。
条件的判定
1.越界情况,x,y的值得在符合二维数组范围的情况下进行
2.走过的点,不需要累加/标记
3.x,y坐标相加是否大于k的时
dfs参数选择
最近看到一条定理:一直在变化的数,就可以用于dfs的参数。
这里我选择了,x,y坐标的值作为dfs的参数
小思考(没有尝试过,成功的小伙伴留言一下下)
12345是否可以直接遍历出x,y相加的值,记录于二维数组中,从而直接得出答案(没试过);提示:不能直接判断哦,看清楚上下左右;
代码
12345678910111213141516171819202122232425262728293031323334353637383940414243class Solution {public:int k,row,col; //row代表行,col代表列int n; //用于答案计数int a[100][100]; ...
linux gcc与c for win的不同
gcc 要求
1234567891011#include <stdio.h>int main(){ int a, b; while(scanf("%d %d",&a, &b) != EOF) printf("%d\n", a + b); return 0;}
int main:
while(scanf()):
return 0:
c语言可爱的运算符
仅为个人笔记(随笔,后期可能会整理)
算术运算符;
±/* 我就不介绍了
%余数运算符,整除后的余数
B%A 将得到 3
i++与++i
12345678910111213141516171819202122232425262728293031323334#include <stdio.h>main(){ int i,a; //定义i,a俩个变量 i=5; a=0; //赋值俩个变量 a=i++; //进行i++运算 printf("%d\n",i); // 打印输出i,这里的i无论是i++还是++i,都会+1 printf("%d\n",a); //表示整个i++式子的变量 i=5; a=0; a=++i; printf("%d\n",i); printf("%d\n",a); i=5; a=0; a=--i; printf("%d\n",i); printf("%d\n",a); i=5; a=0; a=i- ...
网站 更新日志
此文章仅作为网站更新日志
列表
2022.1.23
update
更新butterfly4.0.1版本
根据config修改了CDN
twikoo版本更新
fix
图片无法显示问题
twikoo 显示错误
2021.7.22 22:33
修改又拍云配置,禁用云储存,申请又拍云联盟代金卷
增加https://impdx.vercel.app/ 托管至vercel
2021.7.22
从hexo4.2切换到hexo5.4
从butterfly2.8更新至3.8.2
更新nodejs版本
去除coding的托
去除三家cdn混用,引入又拍云cdn并同步至又拍云储存
去除aplayer吸顶音乐
更新各种插件版本
hexo-abbrlink
hexo-baidu-url-submit
hexo-filter-nofollow
hexo-generator-baidu-sitemap
hexo-generator-sitemap
hexo-renderer-markdown-it
hexo-offline
@neilsustc/markdown-it-kate ...