buck

【模板】后缀数组

自古美人都是妖i 提交于 2019-11-26 16:26:29
致谢jdr和ldl学长$qwq$ 后缀数组,顾名思义,就是对于一个字符串的每一个后缀的数组。 比如对于字符串fatcat,其所有后缀如下: fatcat atcat tcat cat at t 其按照字典序排序结果如下: at atcat cat fatcat t tcat 一般来说,对于每个后缀,要求的数组有3个: rank[]:字符串中以第i位开始的后缀的排名 sa[]:排名为i的后缀开始的那一位的下标,和rank互为逆映射(sa[rank[i]] = i,反之亦然) height[]: 排名为i和i-1的后缀的LCP(最长公共前缀)长度(显然排名邻近的后缀最长公共前缀较长) 后缀数组有用的部分是height[],核心是求sa[]。 求sa[]需要用到倍增法。 假设已经求出长度为k的字符串排序后的数组,可以通过合并求出长度为2k的。 单次排序复杂度为O(N),每次长度扩大一倍,共需扩大logN次。总的时间复杂度为O(NlogN) 每次合并i和i+2^k(k=0~…)。比如上图中第二次,3代表(1,2),5代表(3,4),35就代表(1,2,3,4)。 桶排序(bucket sort)是怎么排的? 因为我喜欢buck,所以把桶叫做buck[] 类似计数排序,首先要知道每种数有几个。 然后用前缀和的方式,比如1,1,4,5,1,4, 先枚举每一位,相应的buck[s[i]]++

硬件电路设计学习笔记2--降压电源电路

梦想与她 提交于 2019-11-26 10:27:52
文章仅为个人理解,学习记录,不必具备任何权威性,悉知。 电源电路对于整个电子系统的重要性是不言而喻的,以下是在学习过程中的总结 一般电源电路有这几种类型:ACDC,DCDC,LDO,其中DCDC又分为BUCK,BOOST,反极性BOOST。 其中降压为LDO和BUCK。 1.LDO 关于LDO的描述这里不做介绍,LDO是耗能型调整器,这种电源 只能降压 只能降压 只能降压 。 LDO适用的情况是输入输出压差小,工作电流小的电源电路。 为什么LDO只适用于以上情况,这里做下解释。 P(LDO)=U*I=(U(in)-U(out))*Iout LDO的转换效率为(P(in)-P(ldo))/P(in)=Vout/Vin 如输入输出压差过大,PLDO会很大,LDO耗能大发热严重且转换效率低。同理输出电流过大,也会造成LDO耗能大。 以常用的LDO AMS1117举例应用,应用电路如下图 AMS1117额定电流1A, 1.5V≤ (VIN - VOUT) ≤ 12V . 以上图为例,I为1A; 电源转换效率为:3.3/5=66%。 LDO耗能:P=UI=(5-3.3)*1=1.7w LDO为发热性元器件,LAYOUT时需考虑散热。 2.BUCK Buck电路拓扑如下 当Q1导通时电流图如图 1,给电容C充电; 2,给负载供电。 当Q1关断时电流图如图 1,电感放电为负载供电; 2,电容放电