- 博客(250)
- 问答 (1)
- 收藏
- 关注
原创 《MYSQL是怎样运行的》笔记
另外有趣的一点是,在 InnoDB 存储引擎中, 聚簇索引 就是数据的存储方式(所有的用户记录都存储在了 叶子节点 ),也就是所谓的索引即数据,数据即索引。ps:页内存的是 主键+索引列+页号,主键也要存,因为可能存在两个一样的索引列值的数据,且所在的页号一样,那就无法区分了。B+ 树的叶子节点存储的是完整的用户记录。存放目录项记录的页分为不同的层次,在同一层次中的页也是根据页中目录项记录的主键大小顺序排成。上面提到回表,是先走索引拿到数据的主键,然后再通过聚簇索引拿到行数据的操作。
2025-11-07 14:21:28
216
原创 《MYSQL必知必会》读书笔记
2, mysql语句不区分大小写,不光是关键字,where语句也是。3,通配符 '-',只替换一个字符。%可以替换 0个字符或更多。ps:感觉很多 = 的地方都有问题啊。4,Date类型字段比较技巧。1,限制返回的条数中。
2025-07-10 22:19:30
137
原创 《Head First》读书笔记
如果许多类之间相互依赖,那么这个系统就会变成一个易碎的系统,它需要花许多成本维护,也会因为太复杂而不容易被其他人了解。因为装饰者可以叠加,可以互相装饰,且装饰者可以替代被装饰者,如上图中的ConcreteDecoratorA和ConcreteDecoratorB。1,Observable是一个类而不是一个接口,导致想实现Observable类里方法,无法使用其他类方法时,因为没法多继承。关键:创建对象,可能有些前置动作,初始化某些字段等,把这些实例化的细节,放到【工厂对象】里去做。
2025-06-13 16:20:24
633
原创 《Redis设计与实现》读书笔记
一个节点由三部分组成:记录上个节点字节数的pre_entry_len、记录内容的content以及记录当前节点属性的encoding。由于每个节点的pre_entry_len部分会记录上一个节点占用的字节数。当content从250 -> 253字节时,会引发下一个节点的pre_entry_len更新,由此下个节点的字节数增加,从而可能引发下下一个节点的pre_entry_len更新,由此最坏情况下节点更新的复杂度为O(n),但这种可能性极小。可以忽略不计。
2024-09-06 23:43:45
285
原创 2024GDCPC广东省赛记录
E题题意,给n和z,n个人俩俩比赛,赢的人加一分,输的不扣分,没有平局的结果。宇鹏看完后提出拓扑+贪心的构造,1h37交了一发wa了,2h时发现重边和爆int的情况,遂交第二发再次喜提wa,而后思宇看了下发现做法一开始就假了,若有条件。一开始没看到以1为根,以为是无根树,口了下以1为根递归先求最优,再换根dp,然后发现换根算贡献不会算,经过思宇提醒后发现是有根树,浪费了有二十分钟🤡。如下图,当前根若干rt,若先选择以i为根的子树,再选以j为根的子树是最优的顺序,则有贡献。,找最优的dfs序,求。
2024-05-26 19:03:25
2301
8
原创 AtCoder Beginner Contest 352 G(期望)
表示前i次抽取结果各不相同,即前i-1次抽取结果各不相同,第i次抽取出现了之前种类的袜子,可以理解为。:有n种袜子,给定每种袜子数量ai,每次抽取袜子不放回,求拿到两支同种袜子的期望次数。表示前i-1次抽取结果各不相同,而第i次的抽取可能会出现之前同种袜子或者不出现,复杂度O(nlogn^2),表示前i次抽取的袜子各不相同的概率,考虑p和q关系,可以发现。,这里用生成函数意义求解,通俗理解就是每种袜子里取1或者0个即。本题的关键点我认为是考虑到p和q的关系,正难则反。次抽取的袜子各不相同,第。
2024-05-09 17:57:10
664
原创 Linux配置记录
记录一次Linux配置的折磨过程。环境:win10配置VMware虚拟机,虚拟机上装Ubuntu(上完汇编后就把VMware卸载了,卸载的不干净,导致这次安装的时候一堆错误QAQ)
2023-03-13 00:30:11
261
原创 2020-2021 ACM-ICPC Latin American Regional Programming Contest(F. Fascinating Partitions)
20年拉美区域赛f
2022-10-10 10:53:40
489
2
原创 Gym 100917M Matrix, The(状压dp)
题目大意:给n,a,b,q。一个n行n列矩阵,当且仅当每行有[a,b]个1且每列有一段连续的1才是合法的,q次询问,问第t字典序大的矩阵的样子,a,b,n<=10,t<=1e18,q<=1000 思路:牛逼题,像数位dp的思路。画张图理解一下。上图,s表示每行的状态,当si->sj的转移是合法的时候我们才向下面连边(上图默认都是合法的了),可以发现很多状态都是重复的,和数位dp一样的思路——记忆化搜索。 我们用dp[r][state][mask]表示第r行状态为sta
2022-04-30 15:55:26
389
原创 第十三届蓝桥杯c++a组浅析
d题意:多次询问,求区间是否存在两个数异或和为x思路:本菜鸡用的线段树,预处理对于每个ai,最近的左右ai^x的位置,l和r,线段树维护区间最右边的l和最左边的r,只要去Q.l<=l或者r<=Q.r即存在莫队做法,开桶维护每个数,当前加入ai的话,去ai^x的桶看是否存在数即可 e题意:n次跳跃,从i-1跳到i成功的概率为pi,失败的话回到0号点,问跳到n的期望次数思路:想了近2h没过样例2,不会, 回大一重修高数了 f题意:n个位置高度为hi,从起点跳到终点往返共2x次,步长
2022-04-09 16:21:10
2556
5
原创 CF891E Lust(推式子,EGF)
题目大意:n个数,进行k次操作,每次对ax进行减1操作,然后对答案加上除ax外所有数的乘积,求期望,对1e9+7取模。思路: 每次操作为res+=∏i!=xaires+=\prod_{i!=x}{a_i}res+=∏i!=xai等价于 +=∏ai−(ax−1)∏i!=xai+=\prod{a_i}-(a_x-1)\prod_{i!=x}{a_i}+=∏ai−(ax−1)∏i!=xai然后发现,进行若干次操作后,结果是∏ai−∏(ai−xi)的形式\prod{ai}-\prod{(a_
2022-04-04 00:48:33
473
原创 CF741D(dsu on tree)
题目大意: 一棵根为1 的树,每条边上有一个字符(a-v共22种)。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中最长的Dokhtar-kosh路径的长度,n<=1e5思路:子树问题我们可以用dsu on tree做 显然字符串只跟每个字符出现的次数的奇偶有关,因为就22个字符考虑状压,1表示奇数次,0表示偶数次,那么如果这个路径合法的话,当且仅当路径的异或和为000…0,100.00,01…0共23种状态。预处理出树上的异
2022-03-18 16:49:12
452
原创 CF553C Love Triangles(带权并查集)
维护集合关系,可以用拓展域并查集,2sat,带权并查集其中带权并查集难理解(不过代码短,个人认为2sat和并查集的主要区别在于,并查集可以维护两者是否属于一类的问题,而2sat相比于其维护的范围更广一点,可以带逻辑的推理p->q,非p->q之类的...以下用带权并查集..CF553C Love Triangles给出n个点,要求构造合法的完全图,已经给出了一些边。边有爱边和恨边,其中任意三个点,连成的边合法的组合有爱爱爱,爱恨恨。问符合要求的完全图的数量,对1e9+7
2022-03-16 21:04:43
862
原创 关于离散化权值线段树和动态开点的记录
ps:以下说的"区间"除非强调是权值区间,否则都是下标区间的意思本文主要记录下,主xi树中一些曾让我困惑的地方一个疑惑是插入的写法,额还有关于是否要copy旧结点的问题关于插入数据1,插入时候,两种更新,一种是pushup形式(就是普通线段树形式),一种是从上而下直接更新(lazy标记永久化写法里好像有这样写过)//插入写法一,递归到叶子,然后pushup更新sumvoid update(int pre,int &now,int l,int r ,int val){
2022-02-28 00:41:45
257
1
原创 AtCoder Beginner Contest 238(efg)
E题题意:给若干区间的和,问最后能不能求出a1~an的和思路:转化为图,已知若干sum(r) - sum(l-1),我们要求sum(n) -sum(0),把l-1和r连边,用并查集或者搜一下,看看能不能从0到达n,即sum(n) - sum(0)F题题意:n=300,给二维偏序,求不存在pi>pj且qi>pj的方案数思路:(cc说是普及组水平,菜狗落泪对第一关键字排序后,我们就看第二关键字因为dp的转移有判存在性的问题,所以需要一维判qi>qjdp[i][j][
2022-02-07 13:35:47
643
空空如也
对于大学全身心投入信息竞赛怎么看
2021-03-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅