学习笔记
文章平均质量分 84
sophilex
kidlut
展开
-
关于SGD收敛性的证明
贪心就对了!原创 2024-07-25 16:12:13 · 996 阅读 · 1 评论 -
Reparameterization Trick
从正态分布到Gumbel Softmax原创 2024-06-11 21:05:46 · 801 阅读 · 0 评论 -
Dilworth 定理
这是一个关于偏序集的定理,事实上它也可以扩展到图论,dp等中,是一个很有意思的东西。原创 2024-05-25 12:11:52 · 606 阅读 · 0 评论 -
GraphMAE 简介
当前的自监督学习领域主要分为对比式自监督学习以及生成式自监督学习,这篇文章主要聚焦于生成式对比学习。事实上后者在图领域的进展是远远不如前者的,但是在cv,nlp领域却是以生成式自监督学习为主,所以作者想要重振生成式学习的荣光。生成式自监督学习又主要分为:自回归以及自动编码,目前是后者用的比较多。自动编码技术的主要目的就是在给定上下文的基础上重建输入的特征,图领域的自动编码器就叫做GAE。以上几点可以在图中看出来。原创 2024-04-26 21:32:19 · 798 阅读 · 0 评论 -
Attention Mechanism
注意力机制,借鉴了实际生活中的注意力的概念,还是有点意思的原创 2024-04-01 10:18:31 · 996 阅读 · 0 评论 -
LightGCN:简化和增强图卷积网络的推荐
在NGCF上的一些改进,简化了模型的基础上提高了推荐的性能原创 2024-04-01 10:16:22 · 1224 阅读 · 0 评论 -
【学习笔记】环论
环论基础知识,加了一点自己的理解原创 2024-01-02 22:40:28 · 1150 阅读 · 0 评论 -
【学习笔记】Burnside引理,Pólya定理及其应用
好东西+1原创 2023-12-08 18:06:50 · 1081 阅读 · 0 评论 -
【学习笔记】群作用与轨道-稳定化子定理
好东西原创 2023-12-04 21:51:11 · 1777 阅读 · 0 评论 -
EGF中多项式exp的组合意义
仔细理解一下,众所周知,一个大小为n的排列一定可以拆成若干个环,每一个环内部的排列数就是一个圆排列的方案数,所以大小为n的排列的方案数就是把。EGF一般用来处理多重集的排列问题,在其上可以定义多项式的exp运算,在处理一类问题的时候有独特的作用。分成若干个非空集合,每一个集合的圆排列方案数之积,这与我们上面讲到的exp的组合意义相符合。的个数,这是一个只跟集合大小有关的值),那么根据生成函数的定义,我们不难得到下式。是因为这k个集合是无序的,而原本的多个多项式卷积显然是有序的。考虑大小为n的排列的个数是。原创 2023-10-24 22:30:48 · 351 阅读 · 0 评论 -
【学习笔记】 LGV引理
虽然但是,我们的终点是不确定的,所以直接枚举每一个起点对应的终点然后再算行列式的话,是不行的。,n秒钟,每一秒对于每一个点来说,有一半概率保持不动,有一半的概率前进1个单位,求k个点两两碰撞的概率。对于左式,我们实际上是要算逆序对个数为偶数的所有置换对应的方案数减去逆序对个数为奇数的方案数。是一个偶数,就意味着加入i不会改变当前序列逆序对数的奇偶性,所以直接加就好了,否则要取负。),此时右式只有一个因子,含义就是整张图的不相交路径组数,就可以用左式的行列式表示了。,这样就相当于求k条不相交路径的方案数了。原创 2023-09-25 19:18:03 · 465 阅读 · 0 评论 -
【学习笔记】Prufer序列
起源于对Cayley定理的证明,但是其功能远不止于此原创 2023-09-22 20:22:51 · 582 阅读 · 0 评论 -
【学习笔记】各类基于决策单调性的dp优化
个人认为已经非常非常全了,从入门到入土的知识点都在里面了,以及本人踩过的所有坑的(泪目原创 2023-09-16 20:00:14 · 733 阅读 · 0 评论 -
[学习笔记]斜率优化dp 总结
我们学过不少优化类的算法了,大部分都是基于凸函数的性质给出的优化,比如Slope Trick,Wqs二分,又比如今天的斜率优化(不知道什么时候会有空把Slope Trick写掉)当dp式子满足cy−cxby−bx≤−aiby−bxcy−cx≤−ai的时候,我们要维护的是一个下凸包i原创 2023-09-02 09:27:17 · 746 阅读 · 0 评论 -
势函数和鞅的停时定理
鞅是一类特殊的随机过程,假设我们从一开始就在观察一场赌博游戏,现在已经得到了前t秒的观测值,那么当第t+1 秒观测值的期望等于第t秒的观测值时,我们称这是一个公平赌博游戏。表示当前的剩余人数,显然它不是一个固定的值。原创 2023-08-17 10:35:44 · 544 阅读 · 0 评论 -
容斥原理 训练笔记
记录训练中的容斥问题,以及一些基本原理原创 2023-07-29 22:18:27 · 316 阅读 · 0 评论 -
二分图博弈学习笔记
因为黑白棋是轮流操作的,黑棋走过的点白棋是无法走的,反之同理。假设当前P不在最大匹配中,那么先手移动之后P一定会到达一个匹配点,否则我们就有了一个新的匹配,与最大匹配这一点矛盾。每次操作之后整张图都不一样了,我们要判断的起始点也不一样了,所以我们每次要重新建图,因为图比较小,所以该方法是可行的。在该图的残量网络中,1->5的流量为1,匹配边5->2的反向流量为1,因此我们判断两条边可以互换。由此,对于一个二分图博弈,只要我们能够判断先手所在局面是否处在二分图的最大匹配上,即可判断必胜状态。原创 2023-07-22 19:06:04 · 789 阅读 · 0 评论 -
奇怪的数位dp CF908G New Year and Original Order
然后我们看一下每一行的1的个数,其实也不难发现,第i行的1的个数=大于等于i的数字的个数,手模一下就可以验证了。所以在第d行,计数字x中>=d的数字的个数为k,则x在第d行的贡献就是(10^k-1)/9(其实就是在构造k个1)在此基础上,我们分9次来计算每一行的贡献。首先这种题目是存在一定套路的,但是没见过基本是想不出来的(估计也是其rating高的原因)所以此题的关键就是用1来组成数字,剩余的工作就都是很基础的了。求区间[L,R]内每一个数字在各数位排序后得到的数的和,答案对1e9+7取模。原创 2023-06-25 20:43:55 · 89 阅读 · 0 评论 -
可重元素集的康托展开&数位dp [HAOI2010]计数
具体来说,当前在第i位,值为val,之前枚举得到的数字出现情况为a[],然后我们遍历取代这一位的数字x,x属于0~val-1,此时a[x]先-1,相应的,val放入后面的序列中,所以对应的方案数就是一个可重集的全排列。如果我们去掉一个0,可以看成它变成了前导0,所以转化一下题意,就是求一个可重数集的康托展开,这个数集的大小是10。先放0,方案数是C(n,a[0]),然后放1,方案数就是C(n-a[0],a[1]),以此类推。回到这题,我们的思路其实是差不多的,我们也得算一个可重集的全排列,原创 2023-06-04 18:40:40 · 533 阅读 · 0 评论 -
数位dp训练笔记
依稀还记得去年寒假的时候对数位dp的恐惧达到了顶峰,打死也不想做一题,也是怎么学都学不会,甚至板子也只是真的去网上copy了一份,自己也都不理解。考虑dp状态dp[i][j][k]表示枚举到前i位,前i位数字的和是j,前i位组成的数字是k。g[i][j]表示当前枚举到第i位,出出现过的数码种类的状态为j的合法数字个数,也就是板子。f[i][j]表示当前枚举到第i位,出现过的数码种类的状态为j,也就是我们要求的答案数组。考虑枚举贡献,枚举二进制1的个数为j,假设有k个这样的数字,答案就是。原创 2023-06-04 10:03:13 · 230 阅读 · 0 评论 -
NTT入门 开拓者的卓识
以此类推,我们的k阶字段和就是在区间[l,r]内找到满足条件的l',r',使得有k个区间包含它们对应区间。所以我们考虑一下在一个长度为i的区间里放k-1个数的方案数,其中这k-1个数可以取等。二阶子段和[l,r]就是在找l',r',使得l原创 2023-04-28 15:37:09 · 634 阅读 · 0 评论 -
树上启发式合并+点分治思想 CF741D
再加上字母数不是很多,我们直接按位状压,某一位为1就代表改字母出现了奇数次(特意强调只有22个字母,摆明了就是要状压),那么,如果点对u,v之间的路径的异或和等于0或者是2的幂次,这条路径重排之后就是一个回文串了。显然,如果u,v之间的路径满足条件的话,我们同样可以O(1)的得到路径长度=dep[u]+dep[v]-2*dep[lca]其实就是第一种情况,只不过过的根是u的子孙节点,我们只要在dfs的时候让父节点的答案更新一下就可以了。的话,会发现这种树上点对异或的东西还是比较套路的。原创 2023-04-06 21:04:31 · 364 阅读 · 0 评论 -
下降幂+第二类斯特林数 推柿子大题
然后还有一个东西极大阻碍了我们的推柿子进程,就是f(k),它跟外面的组合数并不能进行什么神奇操作,所以我们可以考虑将其转化一下形式。可以稍微想一想,不难发现,有了上述的性质,我们可以把一个跟k有关的下降幂变成与k无关的一个下降幂,就多了很多操作的空间。,没错它其实就是组合数,只是换了一个名字,但正是因为它与幂函数有许多可以类比的地方,所以也叫它下降幂。不难发现,前面已经是一个二项式定理的样子了,这也就意味着我们成功把n的复杂度降下来了!考虑这样一个组合意义:有k种颜色,每一个人选择任意一种的方案数。原创 2023-03-31 18:27:09 · 360 阅读 · 1 评论 -
一点小发现
主要是,这其实是一个数列的高次前缀和,然后这应该也就是它的通项了。我记得好像是可以用生成函数来推的,但是有点忘了,先放着,以后也许用得到。做题的时候在推柿子,突然发现一个可以延申的结论。然后i=4的时候小推几个,感觉就是。如果有懂的佬,欢迎来指导我。原创 2023-03-26 22:11:14 · 51 阅读 · 0 评论 -
高维前缀和 学习笔记
显然一种暴力的方法就是枚举i的所有子集,考虑优化的话,我们可以尝试前缀和,因为显然如果有,我们可以将j的贡献都先算在z上面再传给i,而不必一个个来但是这样的话,就涉及到了高维的前缀和处理先来看看一维前缀和是怎么写的。原创 2023-03-25 21:29:53 · 2012 阅读 · 0 评论 -
线性基 学习笔记
什么是线性基?先来回顾一下向量空间中的基。这个基代表着空间的一个极大线性无关子集,组中向量线性无关,且空间中的任意一个向量都可以唯一地由基中的向量来表示那么回到线性基,它其实就类似于是一个向量空间的基我们考虑一个问题:给定一个数组a,要求一个最小的数组d,使得a中的任意一个数可以由d中的若干个数字来通过异或得到,且d中任意多个数字的异或结果不为0注意到异或操作其实就是在模2意义下的加法操作,我们如果将每一个数字按二进制位分解,就可以看成一个n维向量(我们假定数字原创 2023-02-16 20:50:27 · 540 阅读 · 0 评论 -
数论-整除分块
好久没碰数论的东西了,已经完全生疏了。 做了两道数论题总结一下。余数求和大意:求 思路:隐约记得哪次比赛做过原题,也做出来了,但是现在还是有点懵了。。。先把式子转化一下吧那么整个式子就稍微有点样子了。接下来对每一个l求对应的r令,r=max(i),i*t.........原创 2022-06-28 23:23:34 · 153 阅读 · 0 评论 -
树形dp小总结(换根,基环树,杂七杂八的dp)
脑子是个好东西,可惜我有的不多。。。从小到大都是看见树就头皮发麻,前阵子学的多了稍微好一点,但是经过一个树专题的洗礼,熟悉的恐惧感又回来了。。。会讲一下换根dp,基环树dp,也许后面还会更一下树上背包之类的换根换根,就是对不同节点做根的情况进行讨论,通常就是在一些节点选择的题目里会出现,但是碰到的不多(lwh简单的不会考,难的,你们。。。.....................原创 2022-07-28 20:32:05 · 547 阅读 · 0 评论 -
莫比乌斯反演-小总结
注意到这里后面两坨东西我们是可以用分块来处理的,因为u(k)我们可以去处理出来,那么只要找到每一段相同区间里的u(k)函数的一段前缀和即可。对了,因为这题求的是两两之间的数的公约数的和,不包括数字与数字本身,也不会重复计算,我们最后把这些多余的部分减掉就好了。啊哈,这跟上一道题推出来的式子不是换汤不换药嘛,无非就是求莫比乌斯函数变成了求欧拉函数,基本代码完全没有上面区别。如果要转到可以进行莫比乌斯反演的形式,我们可以先枚举i和j的公因子d。关于莫比乌斯函数的预处理,可以通过欧拉筛来实现,这里贴个板子。...原创 2022-07-19 19:56:55 · 216 阅读 · 0 评论 -
trie树(三) 可持久化
那么每次为了精确遍历一个区间[l,r]的01trie,我们会在插入时给每一个节点标上一个tag,代表它最晚是什么时候插入的(或者是共用),记为last[i],那么只要last[i]>=l即可。这个想法很明显不成熟,所以我们加以改进,尝试充分利用空间,那么自然会想到可持久化,在之前的历史版本上加入一条新的链代表一个数即可。里学过的01trie,但是普通的01trie是针对一整颗树求最大异或值的,而此题很明显是在对区间进行询问。所以,我们可以对每一个区间都建一颗01trie!看到异或最大值,不难想到我们在。..原创 2022-08-18 13:38:39 · 213 阅读 · 0 评论 -
trie树(二)进阶
有一个点要注意,就是当你发现当前已经到达某一个字符串的结尾时,ans++,但是不能直接return,因为有可能其它字符串的起点刚好就是这个字符串的结尾,所以这时我们应该继续dfs下去,而不是返回。2.并且对于所有与它有相同前缀的字符串,该字符串的下一个字母的字典序也一定是比另一个字符串的下一个字母的字典序要小。3.另外,如果如果有一个字符串是它的前缀,那么这个前缀一定会比它有更小的字典序,所以这种情况下该字符串就是失败的。1.某个字符串能够作为字典序最小的字符串,那么它的首字母一定是最小的。...原创 2022-08-13 10:51:03 · 144 阅读 · 0 评论 -
trie树(一)01trie
trie树是个好东西,而它有一类专门的应用,是用来处理区间异或的问题的,考虑到异或操作中我们只关心0/1,因此01tire也就是一种每一个节点最多只有两个儿子的树,具体操作其实跟普通trie树差不多,具体看例题吧。我们发现,对于一个数的二进制表示,最高位对结果的贡献是大于之前所有位的贡献之和的,所以,如果我们从高到低遍历每一位时,只要当前这一位能满足异或后得到1,我们就一定取这个值。对于给定的s,我们考虑它的二进制表示,现在就是要尽可能使得它的每一个非1位都有一个0对应。......原创 2022-08-11 14:59:41 · 1851 阅读 · 4 评论 -
trie树(零)零基础入门
规定每一层的节点是与其直接相连的下一层的节点的父亲节点,相对应的,每一层节点是与其直接相连的上一层节点的儿子节点,特殊地,根节点没有父亲节点。而对于没有儿子节点的节点,我们叫它叶子节点。基于一组预定义的模式构建一个集合,然后,将输入的字符串与该集合内部的字符串进行前缀匹配,进而不断缩小可选范围,在可选范围内将可行字符串输出,进而通过接受状态来显示文本,实现自动补全的功能。按照之前讲述的关于树的定义,我们不难发现,字典中每一位对应的26个英文字母与上一位的某一个英文字母都是多对一,也就是树的关系。原创 2022-09-28 14:29:11 · 187 阅读 · 0 评论 -
多项式学习笔记(施工中)
如果我们把x看做是自变量的话,这其实就是一个关于x的二次函数,那么求它的最小值不是轻轻松松嘛,而且我们发现跟x有关的项的系数都是定值,所以x的确定值是可以直接得到的。最后,我们就只需要求最后一项的最大值就可以了。,那么这不就是一个卷积的形式嘛,最后考虑到a数组可以任意旋转,我们就只需要将其扩大到原来的两倍然后去卷积,最后在第n+1项到第n*2项之间取最大值就可以了。给定两个环形矩阵A,B,现在可以对A矩阵统一加上某一个值,并将其任意旋转,求操作过后。前言:菜狗痛改前非决定认真学习多项式。原创 2022-10-29 20:03:19 · 329 阅读 · 0 评论 -
树上启发式合并 学习笔记
再想想,对于普通暴力的做法(虽然时间复杂度已经炸了),显然我们需要一个cnt数组记录每一种颜色的数量,如果每次对一个节点完成查询后清除cnt数组,我们的空间复杂度就不会炸,否则就MLE了。树上启发式也一样,对于儿子的信息查询之后,我们势必要清空数组,但是我们可以合并信息,这也就意味着,如果我们最后对重儿子进行查询的话,查完之后的cnt数组并不用清空,我们可以直接将其它子树的信息合并上去(当然轻儿子的查询是要清空信息的)。想一想,我们如果暴力的话,就是对每一个节点做dfs,时间复杂度是n^2级别的。原创 2023-02-05 23:33:10 · 434 阅读 · 0 评论 -
点分治学习笔记
有时候我们会碰到一些树上的路径问题,如果需要处理的规模很大的话,这时候点分治是一个很好的工具,往往可以在O(nlogn)的复杂度内完成操作,一般用于离线处理问题。原创 2023-02-03 12:21:57 · 319 阅读 · 0 评论 -
对抗搜索 学习笔记
我们限定一个利益区间【a,b】α Alpha is the maximum lower bound of possible solutions对于一个追求max利益的节点P,它的所有子节点都是追求min利益,会将收益尽可能降低,那么P就会在所有尽可能低的收益里选最高的,也就是α了。β Beta is the minimum upper bound of possible solutionsβ同理。是在所有尽可能高的收益里取低原创 2023-01-06 00:03:29 · 681 阅读 · 0 评论