Sqlite Attach和Detach

sqlite是基于文件的数据库,正常使用sql语句操作一般都是同一个数据库,即同一个文件。若要同时操作多个sqlite数据库呢,这时候就可以用Attach和Detach语法。 Attach 附加数据库,将一个数据库文件附加到当前连接上。 Detach 分离数据库,跟Attach相反,即分离附加的数据库。 假设现在有两个 […]

反向并查集

并查集主要处理的是元素之间合并与查询的问题。合并,实际上就是连边的过程,这对于并查集来说是最基础也是最重要的操作;但是对于合并的逆操作,也就是断开某两个元素之间的联系,是一件比较困难的事,这里,就用到了反向并查集。 断开联系可以通过断开两个点之间的边或者是直接移除某个点来完成,而后者的本质就相当于是断开与这个点相连的所 […]

SVN的使用及代码合并

客户端使用 下载地址在此 安装过程省略。 安装后,软件默认设置为英文,有需要可以右键任意位置,打开下拉菜单中svn里setting选项,将语言设置为中文,但是建议使用英文。 安装后,在需要作为代码仓库的目录下建立一个文件夹,右键该文件夹,选择SVN Checkout 选项。 Url中填写的是svn的仓库地址,可以在自己 […]

位运算之BitMask

之前出过一道题 http://xujcoj.org/Home/Problems/status/pro_id/1034 目的是为了让做这道题的同学掌握利用位运算实现20以内的暴力搜索,因为2的20次方大概在1e6左右,刚好符合一般题目的复杂度。 后来在Codeforces上做了这样一道题 http://codeforce […]

数据结构 – 栈

栈本质上是线性表,而且是操作受限的线性表。 栈的概念 栈,是一种后进先出(LIFO, last in first out)的线性数据结构。与一般线性表(数组、链表)不同,栈是一种操作受限的线性表,只允许在栈的一端进行出栈(pop)和入栈(push)操作。 把线性表看成上图中的桶,只允许在表的一端进行入栈和出栈操作,这个 […]

SQL查询表中是否存在符合条件的记录

判断记录是否存在,最主要的问题就是性能问题 话不多说,直接上结果 ifnull 函数:如果第一个参数值为null,返回第二个参数的值,如果不为 null 则返回第一个参数的值 错误示范: 根据结果的数量进行比较,简单易懂。但是count(*)统计全表数量,性能开销较大

TKK-ICPC Round#7 题解

1、圣诞树 扎实的星号阵列题目,注意反斜杠需要转义后输出。 2、How many bugs? 设置三个变量 a、b、c 分别保存 可用 的 ‘b’、’u’、’g’ 的数量。 每遇到一个 ‘b’,a++。 每遇到一个 &#82 […]

TKK-ICPC Round#6 题解

1、比大小 如果我们用 double 或 long double 对它们相除的结果进行比较,势必会出现精度问题导致返回错误的答案。 所以我们考虑比较 a * d 与 b * c 的大小关系。但是题目中给出的数据范围会造成两数相乘后的结果超过 long long 的最大限度。 正确做法是,先比较 a / b 和 c / […]

Mysql-双机热备

首先建立两个mysql环境。该文章中数据库环境为Centos7, mysql5.7.28,均为虚拟机,在主机上使用Navicat通过局域网连接两个数据库进行测试。 由于复制功能基于二进制日志,所以在开启复制之前,应保证两个数据库中都有相同的库结构及数据,否则容易引起复制语句异常。Mysql的版本最好保持一致避免可能的异 […]