- 博客(14)
- 收藏
- 关注
原创 恶意软件(一):病毒和蠕虫
恶意软件定义是,偷偷地嵌入到其他程序中,意图摧毁数据,运行破坏性或入侵性程序,或者破坏受害者数据、应用程序或操作系统的保密性、完整性、可用性。有关恶意软件的术语:它们大致可以分为两类,一类是进行复制的,包括病毒和蠕虫,另一类是不进行复制的,如木马和垃圾邮件。传播机制包括感染已存在的可执行程序或需要解释执行的内容,使其传播到其他系统中在本地或者通过网络利用软件漏洞进行攻击,蠕虫正是通...
2020-05-08 13:58:27
785
原创 IoT、IPv6、区块链中的安全问题
IoT安全Internet of Things,物联网,简称IoT。IoT网络特点:设备更多,任何小物品都可能接入互联网设备性能更低,受限于体积和供电量,单台设备能够搭载的硬件配置都不高更加开放,由于设备的数量和类型众多,无法统一标准,因此网络环境更加开放这些特点给安全性带来的最明显的问题就是,认证将变得更加复杂。小米等厂商的解决方案是,先让手机直接控制设备,配置好WIFI密码后...
2020-05-04 23:48:57
390
原创 单词接龙问题:双向BFS解法
单词接龙问题题目:给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设beg...
2020-04-29 14:39:16
236
转载 C++ bitset 用法
C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。下面是具体用法构造函数bitset常用构造函数有四种,如下bitset<4> bitset1; //无参构造,长度为4,默认每一位为0bitset<8> bitset2(12); //长度为8,二进制保存,前面用0补充stri...
2020-04-29 11:02:03
140
原创 并查集模板(C++)
class unionFind {private: int count = 0; vector<int> parent; vector<int> weight;public: //初始化并查集 unionFind(int n) { count = n; parent.resize(n); ...
2020-04-28 21:10:19
204
原创 error:引用型数组参数
error:dfs(int &visited[])初衷:通过建立引用型形参使得 dfs 能够修改数组 visited 的元素的值。错因:引用型形参实际上是取实参的地址,从而获得修改实参的能力。而这里给函数 dfs 传递的是数组 visited 的首地址,地址是无法再取地址的。实际上,把 visited 的首地址传给函数后,函数已经获得修改数组 visited 的能力。解决方法:把函数...
2020-04-28 19:03:46
97
原创 哲思小语NO.1
想要什么,它表面上是想的问题,但本质上是做的问题!除了基本生理需求以外,一个人所有想要的东西都是在环境中产生的,在以往经历上产生的,在已有知识结构基础上产生的,在融入社会与人相处的过程中产生的。而绝不是没来由,空泛地产生的。你要是问以前的我想要什么,我的答案一定不会是今天我这个样子,但今天我的样子,是我今天想要的。所以,去做,去学,去交往,那里有你想要的答案!—转自 考研政治徐涛...
2020-04-21 03:50:58
80
原创 算法训练之DP小结(分治 + 最优子结构)
DP(分治 + 最优子结构)本质上来说,是找最近最简方法,利用数学归纳法的思维,将问题拆解为可重复解决的子问题,寻找其最优子结构。1. 格外需要注意的技巧利用缓存(状态的存储数组)剪枝淘汰次优解2. 实现方式自顶向下:递归 + 记忆化搜索自底向上:循环递推3. DP关键点最优子结构 cpp opt[n] = best_of(opt[n - 1], opt[n ...
2020-04-19 16:34:24
704
原创 算法训练之二分查找小结(C++)
二分查找小结从这周的习题和每日一题来看,二分查找虽然思想简单,但变体众多,且极易出错。因此,小结以求避坑。参考:王争老师的专栏 二分查找(上) 二分查找(下)先给出二分查找模板(C++):int low = 0;int high = n - 1;while (low <= high) { int mid = low + ((high - low) >> ...
2020-04-19 16:33:40
183
转载 【分享】 禁止套娃?其实递归也很简单
禁止套娃?其实递归也很简单!什么是递归首先要了解递归是什么? 递归(recursion)做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限...
2020-04-19 16:32:52
456
原创 回溯法小结及一些零碎知识点
回溯算法小结回溯算法,大部分情况下,都是用来解决广义的搜索问题,即从一组可能的解中,选择出一个满足要求的解。(**注意:**该算法非常适合使用递归,而剪枝是提高回溯效率的常用技巧!)实际上,解决一个回溯问题,就是一个遍历决策树的过程,关键有三点:路径:已经做出的选择选择列表:当前可以做的选择结束条件:即到达决策树底层,无法再做选择回溯算法的框架def backtrack(路...
2020-04-19 16:22:18
276
原创 C++标准库之栈和队列的若干方法
按课程中超哥给的查询方法,查阅并总结了一些C++标准库之栈和队列的若干方法,供我等新手参考!C++标准库之栈和队列的若干方法一、栈(stack)官方stack详解先进后出。入栈、出栈时,两种实现方式的时间复杂度和空间复杂度均为O(1)。使用栈时,必须包含头文件: #include <stack>定义栈,以如下形式定义实现:stack s;栈的主要方法:s.push(...
2020-04-19 16:21:05
234
原创 位运算的一些笔记
最近做每日一题,大神用位运算秀的操作,真的是秀我一脸,为此我特地做了位运算的小笔记,以供日后参考。????!运算符次序问题:C++运算符优先级有大佬的话,给补充下呀!????(一)概念按位与(&):两数对应位均为1,结果为1,其他为0按位或(|):两数对应位均为0,结果为0,其他为1按位异或(^):两数对应位同0异1按位取反(~):所有位上,1变0, 0变1左移(<<)...
2020-04-19 16:19:38
110
原创 入行笔记(一):安全思维
(一)思考今日份思考:进入一个全新领域,该如何做?面临考研跨专业方向的抉择,对这个问题思考了一阵。我认为,主以基础理论和练习,辅以专业实操和前沿。若是追寻热点而无耐心打好基础,注定走不远;若是仅学理论及基础知识,而无实操及对前沿的兴趣,则注定坚持不下。因此,我意,2/3时间给基础理论和练习,1/3时间给扩展和延伸。至于学习方法,前者当然可循前辈轨迹,购书、买课等等,后者却只能自己寻找路径...
2020-04-18 23:11:31
319
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人