top

转:BIOS的恢复技术之Top Swap的原理应用

北城余情 提交于 2019-11-28 03:24:31
原文地址: https://baijiahao.baidu.com/s?id=1628248717252216590&wfr=spider&for=pc 一版又一版的BIOS推送,目的无外乎就是为了用户更好的体验。领略到BIOS更新重要性的(或者领情的或者有更新强迫症的)用户,会动手去更新BIOS。很多用户担心BIOS更新后的安全问题,尤其是不敢面对更新过程中被打断后带来的“灾难后果”。 华硕BIOS更新界面 其实,你可以完全的将心放在肚子里,我们将全程为您的BIOS更新保驾护航,这就是今天科普的BIOS恢复技术。 BIOS恢复技术 BIOS恢复技术,就是当用户在更新BIOS的时候,出现了意外情况(比如断电)而导致的BIOS更新失败,下次开机的时候,BIOS还能正常启动的过程。 Dual 常见的BIOS恢复技术以Top Swap /Dual BIOS为主。在这里,针对Top Swap做一详细介绍。 Top Swap 首先,Top Swap(TS)是桥(PCH)里面的一个Bit位,默认值为0。需要注意的是 :这个 bit 值,是由主板上 battery(纽扣电池) 保存的。 纽扣电池 其次,既然要说BIOS的恢复技术,就必须要提到Bios的内容存储结构。BIOS ROM就是若干个FV(Fireware Volume)组成的,每个FV都有自己的使命,而且对于一些特殊的FV

Influx Sql系列教程八:query数据查询基本篇

此生再无相见时 提交于 2019-11-28 02:42:33
前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 在开始之前,先看一下供查询的数据 > show measurements name: measurements name ---- yhh > select * from yhh name: yhh time age blog id name phone ---- --- ---- -- ---- ----- 1563889538654374538 26 http://blog.hhui.top 10 一灰灰 1563889547738266214 30 http://blog.hhui.top 11 一灰灰 1563889704754695002 30 http://blog.hhui.top 11 一灰灰2 1563889723440000821 30 http://blog.hhui.top 11 一灰灰3 110 > show tag keys from yhh name: yhh tagKey ------ name phone 1. 基本查询 基本查询语法如下 SELECT <field_key>[,<field_key>,<tag_key>] FROM

JS实现网站楼层导航效果

只愿长相守 提交于 2019-11-28 01:47:36
壹 ❀ 引 我在angularjs中使用锚点这篇文章中,踩坑并简单实现了楼层导航中点击小图标跳转到对应楼层的功能;但对于楼层导航而言,还有个重要的功能就是,随着滚动条滚动,达到某层时得同步点亮楼层导航的小图片。 由于我前面也说了不打算使用JQ,所以想着用JS去实现它,实现并不难,主要得弄清滚动满足怎样的条件才应该点亮对应楼层,我们先看看实现效果: 贰 ❀ 实现思路 第一点,因为是由滚动触发的楼层判断,所以肯定离不开 onscroll事件 。 第二点,我们貌似要获取每个楼层顶端距离视窗顶部的距离,随着滚动条往下滚动,此距离会不断缩小,当接近到某个距离时我们判定此楼层入画,当然其它楼层都满足此判定。 而JQ提供了一个 offset().top 方法能获取这个值,js中只有一个offsetTop属性,获取的是 距离自己最近position属性为非static的祖先元素的距离 ,此 距离不随滚动条滚动而缩小 。 当然我们有方法模拟计算出 offset().top 的值,但没必要,如果你对JQ的offset().top与js的offsetTop有什么区别,以及对如何模拟出JQ的offset().top的值有兴趣,可以参照博主这篇文章 JQ的offset().top与js的offsetTop区别详解 。 这里我直接引用了我之前博客得到的结论: offset().top = offsetTop

JS排序

不羁岁月 提交于 2019-11-28 01:23:33
//排序 var bot = ["B","A","D","C","E"]; //fruits复数 document.write(bot + '<br>'); bot.sort(); //进行排序 fruits复数 sort排序 document.write(bot); //反转排序 var bop = ["B","A","D","C","E"]; document.write(bop+'<br>'); bop.sort(); //进行排序升序 bop.reverse(); //颠倒 reverse反转降序 document.write(bop); //取它的最小值 var top = [40,100,1,5,25,10]; top.sort(function(a,b){return a-b}); document.getElementById("demo").innerHTML = top[0]; //现在top[0]包含最低值 //取它的最大值 var pot = [40,100,1,5,25,10]; pot.sort(function(a,b){return a-b}); document.getElementById("demo").innerHTML = pot [pot.length-1]; //而 points[points.length-1] 包含最高值 <!-

leetcode 最小栈

匆匆过客 提交于 2019-11-28 00:00:57
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> 返回 -3. minStack.pop(); minStack.top(); --> 返回 0. minStack.getMin(); --> 返回 -2. 来源:力扣(LeetCode) 链接: https://leetcode-cn.com/problems/min-stack 思路:设置一个存储值的栈和一个存储前i个数的最小值的栈,这里有一点需要注意,因为要删除值,那麽怎么让最小栈的元素删去呢,这里需要每次相等的元素也要加进来,并不是严格单调的。 比如如果我们不加入两个-3,那麽当我们删除stackvalue里的-3时,如何判断是不是该删除最小栈里的-3,我们固然可以先取出stackvalue的top然后再与top比较,相想等我们不删除stackmin里面的元素,但是我们可以不用这末麻烦

#leetCode刷题纪实 Day8

≡放荡痞女 提交于 2019-11-27 23:11:54
https://leetcode-cn.com/problems/min-stack/ 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> 返回 -3. minStack.pop(); minStack.top(); --> 返回 0. minStack.getMin(); --> 返回 -2. 小菜鸡的尝试: 不是很能懂什么叫常数时间(猜测O(1)?)于是抱着必超时的心态开始写最普通的办法。 1 class MinStack { 2 public: 3 /** initialize your data structure here. */ 4 stack<int> main; 5 stack<int> b; 6 MinStack() { 7 8 } 9 10 void push(int x) { 11 main.push(x); 12 } 13 14

【数据结构】表达式求值

穿精又带淫゛_ 提交于 2019-11-27 22:44:44
【题目链接】    https://www.acwing.com/problem/content/description/153/ 【题目描述】   给出一个表达式,其中运算符仅包含 +,-,*,/,^ (加 减 乘 整除 乘方)要求求出表达式的最终值。   数据可能会出现括号情况,还有可能出现多余括号情况。   数据保证不会出现大于或等于 231的答案。   数据可能会出现负数情况。 输入格式   输入仅一行,即为表达式。 输出格式   输出仅一行,既为表达式算出的结果。 输入样例:   (2+2)^(1+1) 输出样例:   16 【题解】: 1、处理括号问题,由于又多余的括号,我们发现左括号是没有用的,所以我们匹配尽量多的左括号,然后配上一个右括号即可。 2、维护两个栈的操作。   第一个栈 是维护操作数,如果运算的时候就弹出两个出来,然后运算结果又放回去,最后求数字栈的栈顶元素即可。   第二个栈 是维护一个严格递增的操作符,操作符是优先级的。“+” = “-” < “*” = “/” < “^”,严格递增。每次压栈时都加优先级比较,如果不是严格递增的就弹出来运算一遍然后压回去。注意注意!!!存在 负数的时候是而又不是正数。 【代码】代码是仿造y总的写法,不得不说,y总码力十足。 1 #include<string> 2 #include<stack> 3 #include

js的随机事件

笑着哭i 提交于 2019-11-27 22:09:58
JavaScript的随机是需要用到Math.random()的,它的范围是[0~1)的小数,给它添加的条件有三种: 1:Math.round(n),它的意思是四舍五入后的整数的意思. 2:Math.ceil(n),它的意思是向上取整 3:Math.floor(n),它的意思是向下取整 下面呢,是我设的几个例子 <div id="top"></div><script>document.getElementById("top").innerHTML = Math.random();这里输出的是一个随机小数。例如:0.4383010101856428 document.getElementById("top").innerHTML =Math.round(Math.random()) ;当Math.round(n)和Math.random(n),一起使用时,得到的是0和1,因为四舍五入后的0~1的小数,得到的只有0和1; document.getElementById("top").innerHTML =Math.ceil(Math.random());只能得到1,因为是向上取整的,所以在0~1的范围内会得到1的值 document.getElementById("top").innerHTML =Math.floor(Math.random());只能得到0,因为是向下取整的

嵌入式day17

折月煮酒 提交于 2019-11-27 22:02:31
栈 栈是限制在一端进行插入和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。特点:先进后出(LIFO)。 基本运算: 创建空栈: CreateStack(len) 清空栈: ClearStack(S) 判断是否栈空: EmptyStack(S) 判断是否栈满: FullStack(S) 元素进栈: PushStack(S) 元素出栈: PopStack(S) 取栈顶元素: GetTop(S) **顺序栈:**它是顺序表的一种,具有顺序表同样的存储结构,由数组定义,配合用数组下标表示的栈顶指针top(相对指针)完成各种操作。 typedef int data_t ; //定义栈中数据元素的数据类型 typedef struct { data_t * data ; //用指针指向栈的存储空间 int maxlen ; //当前栈的最大元素个数 int top ; //指示栈顶位置(数组下标)的变量 } seqstack_t ; //顺序栈类型定义 创建栈 seqstack_t * CreateStack ( int len ) { seqstack_t * ss ; ss = ( seqstack_t * ) malloc ( sizeof ( seqstack_t ) ) ; ss -> data = ( data

Luogu4427 [BJOI2018]求和 (树上差分)

我们两清 提交于 2019-11-27 19:55:37
预处理,树上差分。注意深度减一 #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); (a) <= (c); ++(a)) #define nR(a,b,c) for(register int a = (b); (a) >= (c); --(a)) #define Fill(a,b) memset(a, b, sizeof(a)) #define Max(a,b) ((a) > (b) ? (a) : (b)) #define Min(a,b) ((a) < (b) ? (a) : (b)) #define Swap(a,b) ((a) ^= (b) ^= (a) ^= (b)) //#define ON_DEBUGG #ifdef ON_DEBUGG #define D_e_Line printf("\n----------\n") #define D_e(x) cout << (#x) << " : " << x << endl #define Pause() system("pause") #define FileOpen() freopen("in.txt