416 words
数据操作DML这里的数据操作就是增删改的更新操作,不包括查询 插入12insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入对应列insert into 表 values (值1,值2,值3...); //向表中插入所有列 第一种是需要按照列名对应写数值的,可以省略,但必须对应 第二种是一次插入一行,是都要写的 也可以插入多行只需在之后填入新的行即可 1234insert into student(sid,name,gender,age,birth,address,score) values(1001,'男',18,'1996-12-23','北京',83.5), (1001,'男',18,'1996-12-23','北京',83.5);insert into student values(1001,'男',18,&#...
711 words
原题链接788. 逆序对的数量 题目难度:简单 题目描述给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。 输入格式第一行包含整数 n,表示数列的长度。 第二行包含 n 个整数,表示整个数列。 输出格式输出一个整数,表示逆序对的个数。 数据范围$1 \le n \le 100000$,数列中的元素的取值范围 $[1,10^9]$。 输入样例:1262 3 4 5 6 1 输出样例:15 题目分析逆序对首先数对,他是一个线性代数中的概念,简单的理解就是,前面的数字比后面的数字大就是一个逆序对,需要注意的是,如果两个数字相同,则应该标记为不同的数字,只是数值相同 我们主要的思想还是采用分治,可以借用归并排序的思路,在归并排序的过程中计算出这个问题的答案 对于分治来说,如何不重不漏的将情况分出来是最重要的 假设这是某一次分治的结果,分为[L,Mid]和[Mid+1,R]两个区间,红绿蓝表示可能出现的逆序对的位置 这一次...
1.2k words
MySQL数据库基本操作首先我们先了解SQL的语言组成,他分为四个部分 数据定义语言(DDL) 数据操纵语言(DML) 数据控制语言(DCL) 数据查询语言(DQL) 数据定义DDL他主要包含三部分内容,对于数据库的常用操作,其次是对表结构的常用操作, 那说白了就是对数据库和表本身的修改,增加删除表,行和列等内容,不涉及数据本身 对数据库的常用操作 功能 SQL 查看所有数据库 show databases; 创建数据库 create database [if not exists] mydb1 [charset=utf8] 切换数据库 use mydb1; 删除数据库 drop database [if exists] mydb1; 修改数据库编码 alter database mydb1 character set utf8; 如果没有图形化界面,我们是需要使用第一个代码查看所有数据库 中括号内的文字表示可选项,可以写也可以不写,写的时候不需要带中括号,这里就用mydb1作为样例的名称,第一个可选项是因为存在时创建会报错 创建表语法...
928 words
原题链接1231. 航班时间 题目难度:简单 题目来源:第九届蓝桥杯省赛C++ A组,第九届蓝桥杯省赛Java A组 题目描述小 h 前往美国参加了蓝桥杯国际赛。 小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。 小 h 对超音速飞行感到十分恐惧。 仔细观察后发现飞机的起降时间都是当地时间。 由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时的飞行时间。 不久后小 h 的女朋友去中东交换。 小 h 并不知道中东与北京的时差。 但是小 h 得到了女朋友来回航班的起降时间。 小 h 想知道女朋友的航班飞行时间是多少。 对于一个可能跨时区的航班,给定来回程的起降时间。 假设飞机来回飞行时间相同,求飞机的飞行时间。 输入格式一个输入包含多组数据。 输入第一行为一个正整数 T,表示输入数据组数。 每组数据包含两行,第一行为去程的起降时间,第二行为回程的起降时间。 起降时间的格式如下: h1:m1:s1 h2:m2:s2 h1:m1:s1 h3:m3:s3 (+1) h1:m1:s1 h4:m4:s4 (+2)...
497 words
原题链接1219. 移动距离 题目难度:简单 题目来源:第六届蓝桥杯省赛C++ B组,第六届蓝桥杯省赛Java A/C组 题目描述X星球居民小区的楼房全是一样的,并且按矩阵样式排列。 其楼房的编号为 1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为 6 时,开始情形如下: 1231 2 3 4 5 612 11 10 9 8 713 14 15 ..... 我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。 输入格式输入共一行,包含三个整数 w,m,n,w 为排号宽度,m,n 为待计算的楼号。 输出格式输出一个整数,表示 m, n 两楼间最短移动距离。 数据范围1≤w,m,n≤10000 输入样例:16 8 2 输出样例:14 题目分析这道题目的意思非常简单,重在如何进行模拟,或者通过找规律也能做出来 这道题目要求的距离实际上在数学中叫做曼哈顿距离,给定两个点的坐标可以用公式表示为$|x_1-x_2|+|y_1-y_2|$ 那么其实问题就变成了如何求这两个编号的坐标了...
565 words
原题链接1229. 日期问题 题目难度:简单 题目来源:第八届蓝桥杯省赛C++ B组,第八届蓝桥杯省赛Java B/C组 题目描述小明正在整理一批历史文献。这些历史文献中出现了很多日期。 小明知道这些日期都在1960年1月1日至2059年12月31日。 令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。 更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。 比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。 给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗? 输入格式一个日期,格式是”AA/BB/CC”。 即每个’/’隔开的部分由两个 0-9 之间的数字(不一定相同)组成。 输出格式输出若干个不相同的日期,每个日期一行,格式是”yyyy-MM-dd”。 多个日期按从早到晚排列。 数据范围$0 \le A,B...
531 words
SQL简介SQL首先是一门高级语言,同其他的C/C++,Java等语言类似,不同的是他是一种结构化查询语言,用户访问和处理数据库的语言,那类似于C语言,SQL也有自己的标准,目前市面上的数据库系统都支持SQL-92标准 SQL这门语言是具有统一性的,但是不同的数据库支持的SQL有略微差别,他是一门非过程化语言,不像C语言,用户并不关心操作是如何完成的,SQL也是跟其他语言结合有相当广泛的应用的,例如Java,Python 首先SQL对大小写不敏感,其次灵活度非常高,一条语句只以分号结尾,可以任意换行 数据库系统简介数据库(DataBases,DB)其实就是以某种组织方式存储数据的集合,这里的组织方式有很多,例如有使用表(table)的 数据库的应用非常广泛,小到网站,大到各类应用系统,都是基于数据库的 我们对数据库基本分为两类,一类叫做关系型数据库(RDBMS) 名称 简介 Oracle 行业巨头 MySQL 最流行的中大型数据库 SQL server Windows上最好用的数据库 PostgreSQL 功能最强大的开源数据库 SQLite...
453 words
原题链接787. 归并排序 题目难度:简单 题目描述给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 $1 \sim 10^9$ 范围内),表示整个数列。 输出格式输出共一行,包含 n 个整数,表示排好序的数列。 数据范围$1 \le n \le 100000$ 输入样例:1253 1 2 4 5 输出样例:11 2 3 4 5 题目分析归并排序是一种非常重要的分治思想,而且代码不是很复杂,是很有可能在做题时被要求手搓归并的 归并排序的整体思想是先递归拆分,再排序,最后合并 拆分是按照位置拆分的,一般都是按照中间位置拆分 这里的难点在于如何合并 我们用双指针,分别指向两个排好序的数组,然后总是选择较小的数存入到新数组中 示例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555...