08 2022 档案
Mysql----事务,存储引擎,视图,管理
摘要:《需求》 《操作》 《细节》 《隔离级别》 不可重复读其实是不好的,比如: 我有一个事务在10点的时候开启,我想查看数据库在10点之前的数据信息 但是这个时候也有一个事务开启了,他还进行了修改等操作,这个时候如果我能够看到这个修改后的数据, 相当于我看到了10点之后的数据了,不符合我的需求 幻读同理
Mysql----外连接,约束,索引
摘要:《外连接》 这个外连接其实就是解决多张表笛卡尔集的问题: 比如: 我有如上两张表,我想要显示出全部学生的成绩,没有成绩的同学默认成绩为NULL 按照以前的方法,要将两张表合并,就要有关联的信息,这里是id,但是没有成绩的同学,在第二张表上也没有id 这个时候我们可以使用外连接 其实也就是,根据其中一
Mysql---多表查询
摘要:《需求》 比如说:我们要显示一系列信息,但是这些信息并不是在同一个表上的,可能在多个表上 这个时候就要展示多张表的内容 如: 如果我直接这样会显示什么呢? 很明显,相当于作了个乘积,这个现象被称为笛卡尔集 然而:我们只要显示两张表中信息公共点的信息即可(这里是指id相同) 《自链接(单表多用)》 当
区间问题----多次区间修改,少次单点询问的差分
摘要:《定义》 对于原数列:a1 a2 a3.....ai aj........an-1 an 这个数列的差分为ca[j]=aj-ai 这个数列的前缀和为he[j]=aj+ai+..+a2+a1 我们可以惊奇的发现 差分的前缀和==原数列 前缀和的差分==原数列 利用这个性质: 差分还有一个惊人的特性:
数论---高斯消元
摘要:1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cmath> 5 using namespace std; 6 const double ac = 1e-8; 7 const int N =
数论----同余方程
摘要:《贝祖定理》 简单来说是: 整数 a,b ,gcd(a,b)=d; 则 存在x,y使ax+by=d成立 证明: 《扩展欧几里得算法》 好博客:https://blog.csdn.net/syz201558503103/article/details/76512144 https://blog.csd
Mysql----初识
摘要:《基本命令》 《连接MYSQL数据库的命令》 《数据库是什么》 《数据库基本操作》 《注释》 《创建数据库》 《查看与删除》 1:解释一下 show create datanase db_name: 其可以显示出创建db_name数据库时,是用的什么字符集,什么校验规则等 2: create是关键字
树上区间问题----树链剖分
摘要:本博客主要是对前辈们的内容我认为好的部分摘取过来了 《入门》 LCA用轻重链剖分解决: 好博客:https://www.cnblogs.com/ivanovcraft/p/9019090.html https://www.luogu.com.cn/blog/by-random/solution-p3
异或运算
摘要:《运算性质》 注意其并没有这个性质:(a+b)^c=a^c+b^c,简单举个例子就可以推出这个性质不成立 注意是有这个性质的:a*b^a*c=a*(b^c) 即: a11*n1^a12*n2^a13^n3.............a1n^nn=b1 a21*n1^a22*n2^a23^n3.....
线段树----区间问题的神
摘要:《标准线段树》 普通的线段树,其区间一般都是一个序列的数的个数,但还是要根据不同题目来判断 注意:tr[]空间是N*4,N为最大范围 《单点修改,区间查询》 原题:https://www.acwing.com/problem/content/1277/ 像这道题,N最大为2*1e5,我们可以事先建立
数论----余数
摘要:《模运算》 《性质》 《同余》 更好理解的方式是:我们将除以同一个数,得到余数相同的数,称为同余关系 我们将除以同一个数,得到余数相同的数,称为同余关系 设 a=nq+r,b=nq′+r(n,q,q′,r∈N,r<n) 因为 a mod n=r,b mod n=r 则a与b 同余,记为 a≡b(mo
数论----快速幂
摘要:算法: 1 int qmi(int a, int b, int mod) 2 { 3 //答案 4 int res = 1; 5 //乘数 6 int mul = a; 7 while (b) 8 { 9 //在二进制下b的第0位是否是1 10 //是1则要乘,否则不要 11 if (b & 1)
数论----GCD(Greatest Common Divisor) 最大公约数 与 LCM(Least Common Multiple)最小公倍数
摘要:《GCD》 算法:(递归层数很小,与用非递归版本的没有区别,且递归版本更好写) 原理: 即:a,b的最大公约数==b,a%b的最大公约数 证明: 《性质》 根据性质计算超大整数GCD: 《LCM》 算法: 原理: 《题目》 解出这个题目的关键: 1.不要直接用结论,会死的很惨,而是要用推出结论的方式
java---网络编程基础
摘要:《网络相关概念》 《计算机网络基础》 《在Java中的网络编程》 通过ip地址获取还不确定使用方法 《Socket》 1 //客户端 2 public class Client { 3 public static void main(String[] args) throws IOException
并查集
摘要:《种类并查集》 对于不能一个并查集不够用了,还需要另一个并查集,但是不能开两个数组作为两个并查集,因为两个并查集之间不能有明确的区分 以样例说明: 贪心思路: 很容易便能想到,我们要使怒气值大的一对人尽量不在同一间监狱里。也就是说,我们要优先考虑怒气值最大的两个人,然后是次大,以此类推。这一想法很容
二分模板的使用选法
摘要:《标准二分查找》 这一类二分的特点是: 2.没有重复元素(如果有重复元素对结果没有影响的话也可以用) 3.单纯的是查找出这一区间存在的确定的值 比如:在数据范围为1~100的有序数组中查找出数50 1 class BinarySearch { 2 public int search(int[] nu
java----反射
摘要:《为什么要反射》 明显是不能的: 虽然我们可以通过properties来获取到String形态下的classfullpath和method是什么,但是如果直接new 和 使用绝对会如下一样报错 《反射机制与原理》 class类型对象在讲static时说过,其中堆中,而且在new(实例化)对象之前就产
图论----最近公共祖先问题(LCA:Least Common Ancestors问题)
摘要:多年后重新回来总结一下倍增LCA的初始化,倍增数组等 首先我们需要初始化的是deep数组 memset(deep,0x3f,sizeof(deep)) 初始化这个数组的目的是为了可以不用st[]数组,来判断是否看过某些点 这里设倍增数组为h[N][25] 初始化 deep[root]=0,h[roo
运用倍增思想实现RMQ(RMQ (Range Minimum/Maximum Query))问题
摘要:本博客大部分是我对这位大佬的文章的个人理解:https://blog.csdn.net/weixin_45697774/article/details/105289810 《倍增》 《RMQ问题》 对于这道题: (这个f数组被称为ST表) 1.首先定义一个数组 f[N][logN+1],这个数组f[
java----IO流
摘要:《基本介绍》 《常见操作》 《创建文件的方法》 《获取文件信息》 《目录操作与文件的删除》 在Java编程中,目录是被当成特殊的文件来处理的 所以其可以用File类中的全部方法 《流》 字节流输入,输出更慢,但可以保证更加无损,处理二进制文件更好 字节流包括: 字节输入流,其顶级父类是InputSt
数论----质数
摘要:《判断是否为质数》 1 bool isPrime(int x) 2 { 3 if (x < 2) 4 return false; 5 for (int i = 2; i <= x / i; i++) 6 { 7 if (x % i == 0) 8 return false; 9 } 10 retur
欧拉函数
摘要:在N=p1^a1*p2^a2*...*pm^am中p是质因数,a是指数;如 24=2^3*3^1; 即 Q(N)=N*(1-1/p1)*(1-1/p2)*...*(1-1/pm); 这里如果用欧几里得算法(即辗转相除法)gcd(),从1开始一个一个数与N算,光是O(100*2*1e9)就会超时; 所
用完全背包解决求极大无关组个数问题
摘要:原题:https://www.acwing.com/problem/content/534/1 532. 货币系统 2 3 4 在网友的国度中共有 n 种不同面额的货币,第 i 种货币的面额为 a[i],你可以假设每一种货币都有无穷多张。 5 6 为了方便,我们把货币种数为 n、面额数组为 a[1.
用贪心解决的区间问题
摘要:《区间选点》 即一个点尽量在更多的区间上,但我们不妨从另一个方面想:在一个区间上的点,始终不能够与另一个区间有关系的情况是什么? 1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace s