草庐IT

P8969 题解

提供一种需要卡常的分块写法。首先看到\(\operatorname{popcount}\)操作,便可以自然而然的想到在值域上做文章。首先因为\(\operatorname{popcount}\leq\logx\)。所以可以想到对于一个序列来说,进行一次\(\operatorname{popcount}\)操作后至多有\(\logV\)个不同的数字。并且在对这个区间进行全局操作时不同数的数量不增。因此考虑分块。块内最开始用\(tag\)记录加法操作。对于块内如果有整块\(\operatorname{popcount}\)操作则转换成记录每个值都变成了什么。由于所有值不大于\(\logV\),所以

数论笔记

·质数素数定理:设\(x\geq1\),以\(\pi(x)\)表示不超过\(x\)的素数的个数。当\(x\rightarrow\infty\)时,\(\pi(x)\to\dfrac{x}{\ln(x)}\)质数筛法1.埃式筛:从小到大一次枚举质数,将\(\left[1,n\right]\)内的所有倍数都标记为合数,未被标记的则为质数。2.线性筛:保证对任一合数,只会被其最小质因数标记。对于每一个数\(i\),从小到大枚举当前质数集\(p\),\(p_j\leqi\),标记合数\(i\timesp_j\),若\(p_j|i\)说明\(i=p_j\timesu\);对于\(p_j,\(i\time

初级图论

CHANGELOG2021.12.5:修改例题代码与部分表述,增加基础定义。2022.4.22:重构文章。2022.5.21:进行一些增补,添加Floyd算法和SCC缩点。2022.5.25:添加Hierholzer算法。2022.8.15:修正强连通分量部分的事实性错误。基本定义边导出子图:选出若干条边,以及这些边所连接的所有顶点组成的图称为边导出子图。点导出子图:选出若干个点,以及两端都在该点集的所有边组成的图称为点导出子图。闭合子图:定义在有向图上。点集\(V\)导出的闭合子图是所有\(V\)可达的点的点导出子图。其精确定义为若\(x\)在子图内,则\(x\)的所有出点和出边均在子图内的

蚁群算法

蚁群算法引言在自然界中各种生物群体显现出来的智能近几十年来得到了学者们的广泛关注,学者们通过对简单生物体的群体行为进行模拟,进而提出了群智能算法。其中,模拟蚁群觅食过程的蚁群优化算法(AntColonyOptimization,ACO)和模拟鸟群运动方式的粒子群算法是两种最主要的群体智能算法。本文介绍蚁群优化算法(简称蚁群算法)。蚁群算法是一种源于大自然生物世界的新的仿生进化算法,是由意大利学者M.Dorigo等人于20世纪90年代初期通过模拟自然界中蚂蚁集体寻经行为而提出的一种基于种群的启发式随机搜索算法。蚂蚁有能力在其走过的路径上释放一种特殊的分泌物——信息素,随着时间的推移该物质会逐渐挥

深度学习基础-优化算法详解

前言所谓深度神经网络的优化算法,即用来更新神经网络参数,并使损失函数最小化的算法。优化算法对于深度学习非常重要,如果说网络参数初始化(模型迭代的初始点)能够决定模型是否收敛,那优化算法的性能则直接影响模型的训练效率。了解不同优化算法的原理及其超参数的作用将使我们更有效的调整优化器的超参数,从而提高模型的性能。本文的优化算法特指:寻找神经网络上的一组参数$\theta$,它能显著地降低损失函数\(J(\theta)\),该损失函数通常包括整个训练集上的性能评估和额外的正则化项。本文损失函数、目标函数、代价函数不严格区分定义。一,梯度下降优化算法1.1,随机梯度下降SGD梯度下降法是最基本的一类优

Backbone 网络-ResNet 论文解读

摘要残差网络(ResNet)的提出是为了解决深度神经网络的“退化”(优化)问题。有论文指出,神经网络越来越深的时候,反传回来的梯度之间的相关性会越来越差,最后接近白噪声。即更深的卷积网络会产生梯度消失问题导致网络无法有效训练。而ResNet通过设计残差块结构,调整模型结构,让更深的模型能够有效训练更训练。目前ResNet被当作目标检测、语义分割等视觉算法框架的主流backbone。一,残差网络介绍作者提出认为,假设一个比较浅的卷积网络已经可以达到不错的效果,那么即使新加了很多卷积层什么也不做,模型的效果也不会变差。但,之所以之前的深度网络出现退化问题,是因为让网络层什么都不做恰好是当前神经网络

图数据挖掘:Erdos-Renyi随机图的生成方式及其特性

1随机图生成简介1.1\(G_{np}\)和\(G_{nm}\)以下是我学习《CS224W:MachineLearningWithGraphs》[1]中随机图生成部分的笔记,部分补充内容参考了随机算法教材[2]和wiki[3]。随机图生成算法应用非常广泛,在NetworkX网络数据库中也内置的相关算法。我觉得做图机器学习的童鞋很有必要了解下。Erdos-Renyi随机图[4]以两位著名的匈牙利数学家PualErdős和A.Rényi的名字命名的,是生成随机无向图最简单和常用的方法,包括以下两种紧密相关的变体:\(G_{np}\):拥有\(n\)个节点,且边\((u,v)\)以独立同分布的概率\

树状数组笔记整理

树状数组介绍树状数组,顾名思义,就是树状的一维数组。二叉树同样也可以用一维数组存储。我们以二叉树进行类比。如图所示,图中节点的序号就是存在数组中的下标。记父节点序号为\(p\),子节点序号为\(s\)。则有:\(p\)\(=\)\(s\)\(/\)\(2\)(向下取整)。左子节点\(s_{left}\)\(=\)\(p\)\(*2\)。右子节点\(s_{right}\)\(=\)\(p\)\(*2+1\)。综上可知,二叉树能用一维数组存,是由于其父子节点间存在一定关系,以至于不需要用额外的变量来表示信息。那类比到树状数组中,可以发现:\(c\)数组即为树状数组。\(c_i\)表示区间\(a\)

P1352 没有上司的舞会+P1122 最大子树和(树形DP入门)

前言今日偶然打开\(oi-wiki\),发现树形\(DP\)例题正好是之前在洛谷上鸽着的一道题。所以......\(\color{red}{很高兴以这样的方式认识你,树形DP!}\)这例题造的太好了,简直是无痛入门(感动.jpg)P1352没有上司的舞会题目传送门~思路剖析状态定义\(dp_i\)表示的是以\(i\)为根节点的子树所获得的最大价值。由于每个节点代表着一位人物,有来与不来两种状态,所以再加一维状态变量。\(dp_{i,0}\)表示以\(i\)为根节点的子树所能获得的最大价值,且这位人物没来。\(dp_{i,1}\)则对应来了的状态。状态转移方程现在有个周年庆宴会,宴会每邀请来一个

P1005 [NOIP2007 提高组] 矩阵取数游戏

题目传送门前言今天依旧是不写高精的一天呢!(是的,这位作者又只拿了开\(LL\)的\(\color{yellow}{60}\)分)思路描述看到数据\(n,m\le80(30)\)就知道数组可以任性开,心理有个底后,再来看题目。状态描述首先肯定要来一个\(dp_{i,j}\)来表示第\(i\)次时取第\(j\)行的数。对于每一次放置,我们要考虑到的是之前每一次都取到什么,也就是现在的头和尾分别是哪两个数。想明白这一点,就可以描述状态了。\(dp_{i,j,k,t}\)表示第\(i\)次时取第\(j\)行的数,对于第\(j\)行,它的行首被取了\(k\)个数,他的行尾被取了\(t\)个数。由于$t