- 博客(155)
- 收藏
- 关注
原创 如何从github中克隆指定文件夹
这里我将代码写进了git_sparse_clone.sh中,前两个参数分别指代目标仓库url以及本地要创建的仓库地址,之后是要克隆的文件夹(们),执行之后就会只克隆第三个参数起指定的目录。为了方便我将其封装成了脚本,实际运行的时候写进.sh文件中即可。一般来说,我们使用git clone <url> 是会克隆整个仓库下来的,但是某些时候我们可能只需要仓库中的某个/某几个文件夹即可,从而避免下载很多冗余的内容。注意这个方法对单个文件可能没用,对应措施可以看看。
2024-09-15 17:36:44
1241
原创 ABC 357 G Stair-like Grid
个点无法经过,求从左上角到右下角的方案数。其中每次移动只能向右或向下。表示两点之间的所有最短路的方案数(不考虑中间是否经过障碍)表示从起点到第i个障碍,中间不经过其它障碍的方案数,还是将障碍按横纵坐标排个序,同时不妨将终点也放入。,这样就还原成了经典模型,可以直接用容斥来做。一个比较显然的思路是把原图还原为。个方块,总共有n行。中,显然排序后它会是最后一个点。但是这样做的时间复杂度是。表示S中的第i个障碍,其实是我之前写的一篇。
2024-06-09 16:10:42
1021
原创 GraphMAE 简介
当前的自监督学习领域主要分为对比式自监督学习以及生成式自监督学习,这篇文章主要聚焦于生成式对比学习。事实上后者在图领域的进展是远远不如前者的,但是在cv,nlp领域却是以生成式自监督学习为主,所以作者想要重振生成式学习的荣光。生成式自监督学习又主要分为:自回归以及自动编码,目前是后者用的比较多。自动编码技术的主要目的就是在给定上下文的基础上重建输入的特征,图领域的自动编码器就叫做GAE。以上几点可以在图中看出来。
2024-04-26 21:32:19
1083
原创 EGF中多项式exp的组合意义
仔细理解一下,众所周知,一个大小为n的排列一定可以拆成若干个环,每一个环内部的排列数就是一个圆排列的方案数,所以大小为n的排列的方案数就是把。EGF一般用来处理多重集的排列问题,在其上可以定义多项式的exp运算,在处理一类问题的时候有独特的作用。分成若干个非空集合,每一个集合的圆排列方案数之积,这与我们上面讲到的exp的组合意义相符合。的个数,这是一个只跟集合大小有关的值),那么根据生成函数的定义,我们不难得到下式。是因为这k个集合是无序的,而原本的多个多项式卷积显然是有序的。考虑大小为n的排列的个数是。
2023-10-24 22:30:48
467
原创 【学习笔记】 LGV引理
虽然但是,我们的终点是不确定的,所以直接枚举每一个起点对应的终点然后再算行列式的话,是不行的。,n秒钟,每一秒对于每一个点来说,有一半概率保持不动,有一半的概率前进1个单位,求k个点两两碰撞的概率。对于左式,我们实际上是要算逆序对个数为偶数的所有置换对应的方案数减去逆序对个数为奇数的方案数。是一个偶数,就意味着加入i不会改变当前序列逆序对数的奇偶性,所以直接加就好了,否则要取负。),此时右式只有一个因子,含义就是整张图的不相交路径组数,就可以用左式的行列式表示了。,这样就相当于求k条不相交路径的方案数了。
2023-09-25 19:18:03
606
原创 [学习笔记]斜率优化dp 总结
我们学过不少优化类的算法了,大部分都是基于凸函数的性质给出的优化,比如Slope Trick,Wqs二分,又比如今天的斜率优化(不知道什么时候会有空把Slope Trick写掉)当dp式子满足cy−cxby−bx≤−aiby−bxcy−cx≤−ai的时候,我们要维护的是一个下凸包i
2023-09-02 09:27:17
1567
原创 离谱事件&解决方法2 无法定位程序输入点XXX于动态链接库XXX.dll
发现anaconda里面也有一个clang.cll文件,然后又查了一下libLLVM-16.dll文件,果然,anaconda里面也有。这里的dll文件就是动态链接库,它并不是一个可执行文件,里面存放的是程序的函数实现过程(公用),当程序想要执行某个函数的时候,就要先载入dll文件,然后调出对应的函数地址再调用函数。系统在搜索.dll文件的时候,先在anaconda的子目录下找到了clang.dll等两个文件,因此调用了错误的文件,也就没有找到对应函数的地址。用别人的两个对应dll文件替换掉原本的文件。
2023-08-26 21:12:46
438
原创 势函数和鞅的停时定理
鞅是一类特殊的随机过程,假设我们从一开始就在观察一场赌博游戏,现在已经得到了前t秒的观测值,那么当第t+1 秒观测值的期望等于第t秒的观测值时,我们称这是一个公平赌博游戏。表示当前的剩余人数,显然它不是一个固定的值。
2023-08-17 10:35:44
751
原创 二分图博弈学习笔记
因为黑白棋是轮流操作的,黑棋走过的点白棋是无法走的,反之同理。假设当前P不在最大匹配中,那么先手移动之后P一定会到达一个匹配点,否则我们就有了一个新的匹配,与最大匹配这一点矛盾。每次操作之后整张图都不一样了,我们要判断的起始点也不一样了,所以我们每次要重新建图,因为图比较小,所以该方法是可行的。在该图的残量网络中,1->5的流量为1,匹配边5->2的反向流量为1,因此我们判断两条边可以互换。由此,对于一个二分图博弈,只要我们能够判断先手所在局面是否处在二分图的最大匹配上,即可判断必胜状态。
2023-07-22 19:06:04
894
原创 Petrozavodsk Winter 2023. Day 1 部分题解
尝试将i的映射变成j,我们需要验证i->j的权值贡献加上图的其他部分的贡献与ans相同。那么将i连向其他点的权值置为0,再将其他点连向j的权值置为0,重新跑一遍KM,加上i到j的权值贡献,即可。第一个值其实比较好维护,我们只需要记录每一个人的分数,然后每一次操作的时候维护一下排名,贡献就是排名的变化了,具体实现用一个树状数组T1来维护分数。但是下一次又轮到id操作的时候,它并不是从一开始就待在当前的now这个位置的,所以我们先提前减去T2(now),下一次就可以放心加上对应的值了,实现起来也比较容易。
2023-07-08 16:00:55
370
原创 奇怪的数位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
109
原创 回文串+数位dp 萌数
所以可以反过来考虑,那就是统计不含回文字串的个数,不难发现其性质就是每一位都与前两位不同。所以设一个三维的dp,i表示当前位数,j表示前一位,k表示前一位的前一位。做数位dp的话,转移就按照正常的转移来就好了,只是中间遍历时要特判一下前导0时的情况,需要将前两位都置为-1。如果正着想的话,显然所有回文串都满足有相邻两位相等或者间隔一位的两个数字相等,但是这样计数的话还要考虑到相等的位置以及第二种情况时中间数字与两边数字是否相等等一系列情况,想想也不是1e1000能解决的。
2023-06-18 19:43:01
208
原创 可重元素集的康托展开&数位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
594
原创 数位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
260
原创 cf1750E Bracket Cost
假定L>=R,对于每一个没有匹配的左括号,如果我们能找到一个尚未匹配的右括号,则它一定在该左括号的前面,所以我们直接取以它们为端点的字串,执行操作1,这就实现了一个匹配。如果这个左括号找不到尚未匹配的右括号,我们就直接执行操作2即可。注意到每次操作都不会浪费,都达到了对应操作所能消去的最多的括号数,所以该操作是最优的,此时总操作次数是L-x。,L+R的求和是比较简单的,就是类似于上一个的求法,考虑每一个位置的贡献。我们令L表示串内左括号的数量,R表示右括号的数量,x表示串内已经匹配的括号对的数量。
2023-05-26 22:14:33
955
原创 离谱事件&解决方法1 WALN网络不存在?
本人尝试了包括网络重置在内的许多办法,以及n多次重启,问题仍然得不到解决。网上说fn+f1~f6中的某一个键可以进入BIOS系统,但是我都进不去。这张是修好之后的图,但是当时所有包括蓝牙,waln在内的设备的状态都是。然后选择Exit中的Exit Saving Changes(保存退出)如果它的状态是Enable,就先调成Disable,再调回来。遂重启,结果事情更糟了,WALN就没了,没了,没了...如果它的状态是Disable,就调成Enable。找到无线网卡模块Wireless Lan模块。
2023-05-17 15:17:41
426
原创 NTT入门 开拓者的卓识
以此类推,我们的k阶字段和就是在区间[l,r]内找到满足条件的l',r',使得有k个区间包含它们对应区间。所以我们考虑一下在一个长度为i的区间里放k-1个数的方案数,其中这k-1个数可以取等。二阶子段和[l,r]就是在找l',r',使得l
2023-04-28 15:37:09
682
原创 逆天思维题 CF741C
我们会发现,每一个点都被两种边连接,一个来自它的伴侣,一个来自它的其中一个相邻点,所以最后如果有环的话,一定是两种边交替出现的,所以不可能有奇环(一个特殊情况是情侣相邻坐,但不难发现此时也不是奇环)。有2n个人围成一圈坐在桌子边上,每个人占据一个位子,对应这2n个人是n对情侣,要求情侣不能吃同一种食物,并且桌子上相邻的三个人的食物必须有两个人是不同的,只有两种食物(1或者是2),问一种可行分配方式。因为只有两种颜色,所以是要我们构造一张二分图,其中情侣之间要连边,关键就是如何处理任意三个点之间的关系。
2023-04-06 21:40:29
317
原创 树上启发式合并+点分治思想 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
405
原创 另类推柿子 Crypto Lights
不难发现,si表示在第i次,第i+1次,...第n次结束的概率之和,这其实也就等于第i-1次无法结束的概率(这个应该不难想)n-(i-1)-(k-1)(i-2)个小球,这些相同的小球要放进i个位置里,可以有位置为空,所以直接隔板法即可。中间的i-2个位置每一个至少要有k-1个小球,所以我们先放进去(k-1)*(i-2)个小球,还剩下。不妨先将i-1个小球摆好,这样整个集合被分成了i个位置,我们还有n-(i-1)个小球可以放进去。现在有n个小球,要求选择i-1个小球,两两之间有至少k-1个小球。
2023-04-02 13:32:56
318
原创 基础二项式反演 [已经没有什么好害怕的了]
转移方程也很好想,如果a数组的第i个数字不选,方案数就是dpi-1,j,如果选上它,我们要为其找一个比它小的数字,那么方案数显然就是dpi-1,j-1*(ri-(j-1))给定两个数组a,b,要求对两个数组中的元素两两配对,使得恰好有ai>bi的组数恰好比aibi的组数恰好为k的方案数。设ai>bi的组数为x,则有x+x-k=n,推出x=(n+k)/2。我们令fi表示a>b的组数恰好为i的方案数,显然答案就是fk。
2023-04-02 13:09:30
357
原创 下降幂+第二类斯特林数 推柿子大题
然后还有一个东西极大阻碍了我们的推柿子进程,就是f(k),它跟外面的组合数并不能进行什么神奇操作,所以我们可以考虑将其转化一下形式。可以稍微想一想,不难发现,有了上述的性质,我们可以把一个跟k有关的下降幂变成与k无关的一个下降幂,就多了很多操作的空间。,没错它其实就是组合数,只是换了一个名字,但正是因为它与幂函数有许多可以类比的地方,所以也叫它下降幂。不难发现,前面已经是一个二项式定理的样子了,这也就意味着我们成功把n的复杂度降下来了!考虑这样一个组合意义:有k种颜色,每一个人选择任意一种的方案数。
2023-03-31 18:27:09
412
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人