【前后端教程】打比赛必备的前后端知识
基础网络通信知识
浏览器是如何获取数据的?
当我们打开一个网站的时候,网站上显示文字、图片等信息。有没有想过这些信息是如何被加载出来的呢?说的简单一些就是这些信息是从网络上“下载”下来的;
网站基础知识
一个网站是由一个前端和一个后端组成的,前端就是我们平时使用的浏览器所展现的网页。后端是负责提供应用服务的程序。一般负责和数据库的交互以及业务的逻辑处理。
前端是数据就是问后端要的,后端将数据返回给前端。前端再将数据呈现到你的面前;
网址结构解析
网页地址也叫做:url;
以bilibili的url举例子:
其中https表示使用的协议类型,https也就是http+ssl。http为超文本传输协议,ssl为一种加密协议。这些协议有兴趣可以去多了解了解,了解的不是那么深入问题也很大。你可以简单的理解为前缀了一个http/https就相当于说明了我想要的是超文本传输协议的服务。那如果是前缀ftp我想要的就是ftp文件传输的服务。他的作用就是用来表明你现在想要的服务是什么样的。就比如再看后面的黄色的部分www.bilibili.com这是bilibili网站的域名。域名就是给网站 ...
「论文阅读」Real-World-Adversarial-attack
Making an Invisibility Cloak: Real World Adversarial Attacks on Object Detectors
propose a new loss function to produce patch;Print the patch on the cloth. People who wear this cloth can not be detected by object detectors in the real world
Paper url: https://arxiv.org/abs/1810.05206
「算法」第十届蓝桥杯B-组国赛真题
换零钞
x 星球的钞票的面额只有:100元,5元,2元,1元,共4种。小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,剩下的当然都是5元面额的。银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗?(5元,2元,1元面额的必须都有,不能是0)
注意,需要提交的是一个整数,不要填写任何多余的内容。
用数学方法解决:
要求钞票张数最少,满足5元钞票最多即可。
设 1 元钞票有 x 张,则 2 元钞票有 10x 张,5 元钞票 y 张。
有:x+2*10x+5y=200
整理得:y=40-21*x/5
要想 y 最大,x必须最小,所以 x=5;
所以 1 元钞票有 5 张,则 2 元钞票有 50 张,5 元钞票 19 张。
Ans: 74
激光样式
x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。 安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开! 国王很想知道,在目前这种bug存在的情况下 ...
「算法」闫氏DP分析法
闫氏DP分析法
核心:从集合角度来分析DP问题;
目的:求有限集中的最值
动态规划
状态表示 f(i)
化0为整,把一类集合变成一个整体然后用一个数来表示它;
集合
属性:f(i)与集合的关系 (max/min/bool)
状态计算
化整为0的过程:将f(i) 划分为几个子集进行计算,分别求每个子集,最后将子集合并起来;
划分的依据:寻找最后一个不同点
几个例题
01背包问题
选择问题
状态表示: f(i,j)
集合:所有只考虑前i个物品,并且总体积不超过j的选法的集合;
属性:max 集合当中每一个方案的最大价值
就是只考虑前n个值,不超过v的最大的值
状态计算:
对于f(v,i), 可以分为两类,一类是不选择第i个物品的方案,一类是选择第i个物品的方案;
那么我们可以得到不选择i的物品的方案就是f(v,i-1), 选择第i个物品的最大值是
那么最后的结果就是:
AC代码为:
1234567891011121314151617181920#include<iostream>using namespace std;const int N = ...
「白帽子学习笔记」加油NPT
【白帽子学习笔记】加油NPT
考试复习内容,看到这篇博客的小伙伴要加油啊!冲冲冲!
0x01 PETS标准
整个渗透测试过程大致可以分为7个阶段:
前期与客户的交流阶段:确认是对目标的哪些设备和哪些问题进行测试,商讨过程中的主要因素有如下几个:
渗透测试的目标
进行渗透测试所需要的条件
渗透测试过程中的限制条件
渗透测试过程的工期
渗透测试费用
渗透测试过程的预期目标
情报的收集阶段:使用各种资源尽可能地获得要测试目标的相关信息
被动扫描
主动扫描
威胁建模阶段:这个阶段主要解释了如下的问题
哪些资产所目标中的重要资产
攻击时采用的技术和手段
哪些群里可能会对目标系统造成攻击
这些群体会使用哪些方法进行破坏
漏洞分析阶段
漏洞利用阶段
后渗透攻击阶段:尽可能地将目标被渗透后所可能产生的后果模拟出来,来给客户展示当前网络存在的问题会带来的风险
控制权限的提升
登录凭证的窃取
重要信息的获取
利用目标作为跳板
建立长期的控制通道
报告阶段
0x02 ethical hacking的意义
0x03 Kali基础
1x01 NAT和桥接的区别
桥接模 ...
「算法」第十一届蓝桥杯国赛题解
PDF 下载链接:
点我下载
美丽的二
提示:
stl的运用,用string的find函数找一下就可以了
1234567891011121314151617#include <iostream>#include <string>using namespace std;int main() { int ans = 0; string year; for (int i = 1; i < 2021; ++i) { year = to_string(i); if (year.find('2') != year.npos) { ans += 1; } } cout << ans; return 0;}
Ans: 563
扩散
提示:
其实还是stl的应用,会用标准库的话真的挺简单的。主要的思想就是用一个集合来存已经扩散后的格子,一个队列用来存储正在扩散的格 ...
「算法」-《算法竞赛进阶指南》-基本算法篇
位运算
a^b
非常经典的快速幂算法,总之就是非常6啊,话不多数直接上代码吧;
C++ 技巧: 使用 >>= 来完成二进制数字的移位
12345678910111213141516#include <iostream>using namespace std;int main(){ long long a,b,p; cin >> a >> b >> p; int res = 1 % p; while(b){ if(b&1) res = a * res % p; a = a * a % p; b >>= 1; } cout << res; return 0;}
64位整数乘法
a * b mod p 其实就是n个a相乘后模p,将b看做一个二进制数,从左往右分别是1,2,4,8… 具体看代码了,总之就是非常的妙啊!
123456789101112131415#i ...
「课程学习」计算机网络知识点笔记
卢畅的计算机网络课程笔记:持续更新中…
导论
课程要求
掌握五层网络的模型结构和原理
掌握应用层中相关协议的基本组成和原理
掌握Ethernet的原理和协议
掌握主要的路由算法及路由协议
掌握主要的传输层协议
IEEE 标准
几个常用的:
Bus,IEEE 802.3【以太网】
Ring,IEEE 802.5【环网】
Token RING,IEEE 802.4 【令牌环网】
Wireless LANS,IEEE 802.11 【无线局域网】
数据、信号、信息之间的关系
数据:就是0和1,看作货物。数据就是信息的载体
信号:车:传输的是数据【数据的载体】
信息:是数据的组合,比如C语言就会有ascii这种东西来给数据赋予具体的意义。
物理层
功能
通过规定物理设备和物理媒体之间的借口技术,实现物理设备之间的比特流传输。
服务是透明的,实现的细节不是透明的 => 层与层之间是相互独立又是联系的;
专有名词
带宽: 信号占据的频道范围;
信号传输速率:单位时间里传输信息波形的个数,单位为波特;【车辆通行的数量】
最大采样频率:B = 2H (bund)
数 ...
「mist」配置mist论文环境
个人配置mistGPU论文训练环境的代码:
1234567891011121314cp /data/*.zip ./unzip env.zipmv torch-1.7.1+cu101-cp36-cp36m-linux_x86_64\ .whl torch-1.7.1+cu101-cp36-cp36m-linux_x86_64.whlunzip detectron2.zipconda create -n "corona2" python=3.6conda install cudatoolkit=11.1pip3 install torch-1.7.1+cu101-cp36-cp36m-linux_x86_64.whlpip3 install torchvision-0.8.2+cu101-cp36-cp36m-linux_x86_64.whlpip3 install detectron2-0.3+cu101-cp36-cp36m-linux_x86_64.whlpip3 install opencv-pythoncd cocoapi/PythonAPIpython3 ...
「算法」第十二届蓝桥杯省赛第二场题解
PDF 下载链接:
第十二届蓝桥杯省赛第二场原题
求余
提示:
签到题不多说了
1234567#include<bits/stdc++.h>using namespace std;int main(){ cout << 2021%20; return 0;}
ans: 1
双阶乘
提示:
输出奇数位的乘积, 需要注意一下每次的运算都取下余数,只算最后几位。 考试的时候电脑上有python环境,我直接python解决
123456789101112#include <iostream>using namespace std;int main() { long long res = 1; for (int i = 1; i <= 2021; i += 2) { res = res * i % 100000; } cout << res; return 0;}
ans:59375
格点
...