Web
1.6k words
列表列表是布局内容排列整齐的区域,分为无序列表、有序列表、定义列表。 无序列表无序列表是布局排列整齐的不需要规定顺序的区域。 标签:ul 嵌套 li,ul 是无序列表,li 是列表条目。 例如 123456<ul> <li>第一项</li> <li>第二项</li> <li>第三项</li> ……</ul> ul 标签里面只能包裹 li 标签 li 标签里面可以包裹任何内容 有序列表有序列表是布局排列整齐的需要规定顺序的区域。 标签:ol 嵌套 li,ol 是有序列表,li 是列表条目。 例如 123456<ol> <li>第一项</li> <li>第二项</li> <li>第三项</li> ……</ol> ol 标签里面只能包裹 li 标签 li 标签里面可以包裹任何内容 定义列表标签:dl 嵌套 dt 和 dd,dl 是定义列表,dt 是定义列表的标题...
Web
1.3k words
HTML 基础HTML的意思就是超文本标记语言(HyperText Markup Language),这里的超文本的意思就是多媒体内容,有文本、图片、音视频等内容,这里的标记就是使用代码的形式,使用尖括号的标签进行标记的意思,例如 标签结构 标签要成对出现,中间包裹内容 <>里面放英文字母(标签名) 结束标签比开始标签多 / 标签分类:双标签和单标签 123<strong>需要加粗的文字<strong><br><hr> HTML骨架 html:整个网页 head:网页头部,用来存放给浏览器看的信息,例如 CSS title:网页标题 body:网页主体,用来存放给用户看的信息,例如图片、文字 12345678<html> <head> <title>网页标题</title> </head> <body> 网页主体 </body></html> VS Code 可以快速生成骨架:在 ...
767 words
正则表达式正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。 MySQL通过REGEXP关键字支持正则表达式进行字符串匹配。 格式 模式 描述 ^ 匹配输入字符串的开始位置。 $ 匹配输入字符串的结束位置。 . 匹配除 “\n” 之外的任何单个字符。 […] 字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 “plain” 中的 ‘a’。 [^…] 负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以匹配 “plain” 中的’p’。 p1|p2|p3 匹配 p1 或 p2 或 p3。例如,’z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。 ***** 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo...
2.7k words
数据查询DQL数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。 MySQL提供了功能强大、灵活的语句来实现这些操作。 MySQL数据库使用select语句来查询数据。 基本查询语法格式 12345678910select [all|distinct] <目标列的表达式1> [别名], <目标列的表达式2> [别名]...from <表名或视图名> [别名],<表名或视图名> [别名]...[where<条件表达式>][group by <列名> [having <条件表达式>]][order by <列名> [asc|desc]][limit <数字或者列表>]; 这里的关键字太多了 where就是第一步的筛选条件,group by是分组条件,having是第二步的筛选条件,order by是排序,limit是限制条数 我们用到的最多的就是三个关键字 1select *| 列...
709 words
原题链接1264. 动态求连续区间和 题目难度:简单 题目来源:《信息学奥赛一本通》 题目描述给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b] 的连续和。 输入格式第一行包含两个整数 n 和 m,分别表示数的个数和操作次数。 第二行包含 n 个整数,表示完整数列。 接下来 m 行,每行包含三个整数 k,a,b (k = 0,表示求子数列[a,b]的和;k=1,表示第 a 个数加 b)。 数列从 1 开始计数。 输出格式输出若干行数字,表示 k = 0 时,对应的子数列 [a,b] 的连续和。 数据范围1≤n≤100000,1≤m≤100000,1≤a≤b≤n,数据保证在任何时候,数列中所有元素之和均在 int 范围内。 输入样例:123456710 51 2 3 4 5 6 7 8 9 101 1 50 1 30 4 81 7 50 4 8 输出样例:123113035 题目分析这道题的意思就是单点操作,区间查询 对于树状数组的来说是和我们之前讲解的内容相差无几 算法基础之树状数组 算法基础之线段树 示...
1.3k words
约束我们在之前创建表的时候有提到过约束条件(constraint),他的作用就是用于约束表中的数据,例如非空性,唯一性等,约束的分类也很多有如下 中文 关键字 主键约束 primary key(PK) 自增长约束 auto_increment 非空约束 not null 唯一性约束 unique 默认约束 default 零填充约束 zerofill 外键约束 foreign key(FK) 主键约束主键约束(primary key)形象化的来理解就是使用某一列或者几列作为这个表的标识,可以提高表的查询速度,主键约束其实就相当于唯一约束加上非空约束的组合,不允许重复也不允许出现空值,而且每个表最多只有一个主键,当主键约束被创建时,系统默认会在所在的列和列组合上建立对应的唯一索引,这里也是简单理解为可以用于快速查询的功能 添加单列主键创建单列主键有两种方式,一种是在定义字段的同时指定主键,一种是定义完字段之后指定主键 第一种 12345create table 表名( ... <字段名> <数据类型> prim...
355 words
线段树线段树的原理十分简单,但是在代码上会相对复杂一点 他也是用来维护一个序列,是一个完全二叉树的形状 对于每一个节点是一个结构体 12345struct Node{ int L,R; int sum; // 以和为例}; 假设序列为1到7,那么根节点存的就是这7个数的总和,如果区间长度不是1的话,就会平均分成两部分,这两部分就是根节点的子节点,如此递归下去 他有两个操作,第一个操作是单点修改,是一个递归的过程,只用修改信息需要变化的节点,我们需要改变叶子节点,然后回溯时重新计算即可 第二个操作称之为区间查询,查询时,如果有查询区间可以包含某一个区间,那么就直接返回,如果是不包含,那么就是进行递归,直到包含,然后进行计算再回溯 线段树中有四个函数 第一个是pushup,用子节点信息更新当前节点信息,这个一般不用写,就一句话 第二个是build,在一段区间上初始化线段树 第三个是modify,是修改操作 第四个是query,查询操作 我们之后在题目中实践即可
559 words
树状数组树状数组能解决的最关键的问题就是能够$O(\log n)$内,给某个位置上的数,加上一个数,或者求前缀和 他和前缀和数组的区别就是,树状数组支持修改原数组的内容,而前缀和数组不支持,需要重新求前缀和数组 总结一下树状数组能做的操作就是单点修改和区间查询,对于他的其他的功能,例如区间修改,单点查询,区间修改,区间查询都是使用差分的思想转化成最基础的思想 这里我们需要利用图像来表示 这里的树状数组虽然画出来是个树,但本质上还是一维数组 其中的任意一个数字其实表示的是一段数的和,例如$C[8]=A[1]+\dots+A[8]$ 那么对于$C[x]$,我们如何确定x的层数呢,其实是可以利用x的二进制表示,其中末尾有几个0,就是第几层的数字,假设他最后有k个0,那么$C[x]=\sum_{x-2^k+1}^xA[x]$,C++中有一个lowbit(x)函数,可以返回$2^k$,因此这个表达式也可以写成$C[x]=\sum_{x-lowbit(x)+1}^xA[x]$,补充这里这里的lowbit(x)函数的原理就是位运算$x&-x$ 有了这部...