自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 二项式反演 结论+证明

为带有“恰好”条件的数组,

2024-05-04 15:43:26 196

原创 【二项式反演&dp】洛谷P4859 已经没有什么好害怕的了 题解

令我灵光一现的一道二项式反演紫题!

2024-05-04 15:30:43 546

原创 【树形dp】洛谷P3914 树染色 题解

速切蓝题,但是石门拓展版却不对?

2024-05-04 11:17:54 194

原创 【二项式反演】洛谷P5505 分特产 题解

今天刚学二项式反演,手感火热!

2024-05-04 09:53:08 276

原创 【点分治】洛谷P5306 Transport 题解

说的石门模拟测试,这题叫作“加油”。一开始以为树形dp呢,想后认为是点分治。

2024-05-03 22:06:02 912 1

原创 【莫比乌斯反演】洛谷P2231 跳蚤 题解

其中σ(n)表示n的所有因数之和。众所周知这题的标签是。

2024-04-25 12:45:28 382

原创 【子集dp】CF165E Compatible Numbers 题解

对于学生a和学生b来说,如果s[a] & s[b] 等于0(其中&就是二进制位操作的“与”),那么我们称a和b是"好伙伴"。问题是: 对于任意的i(1<=i<=n),输出第i个学生的“超级好伙伴"的品质,如果第i个学生没有“好伙伴"输出-1.如果学生a有多个”好伙伴“,那么品质最好的那个就是a的”超级好伙伴"。有n个学生,编号1至n,第i个学生的品质是s[i]。那么对于s[a],对其逐位取反,即M^s,称为s的。则必然s^(M^s)=0。查看其反集是否存在即可。

2024-03-16 10:18:16 174 1

原创 【莫比乌斯反演】洛谷P3327 约数个数和 题解

文章浏览阅读143次。显然两段区间所产生的的答案可以用容斥原理“归一”处理。个d的倍数,所以可以把后面两个大。处理,详参上一篇题解。【整除分块&莫比乌斯反演】洛谷P2522 Problem b-CSDN博客。首先,新定义函数d没有特定的算法,因此需要对它做小小的处理。到这里是不是很熟悉了?到了这里,剩下的就交给。

2024-03-16 08:45:06 430 2

原创 【莫比乌斯反演&类积性函数处理】洛谷P4449 于神之怒加强版 题解

此时前半部分和上一篇题解一样如法炮制,使用整除分块;后半部分先考虑暴枚。【整除分块&莫比乌斯反演】洛谷P2522 Problem b-CSDN博客。可以观察到,在初始化getmu()函数中,暴枚q和d的时间去到了。推出,那么该积性函数可以线性求出。再处理一下gcd,从而套用。考虑对式子化简,考虑枚举。,就是要线性处理f函数。因此本题的第二重点:令。可以线性求并且可以由。

2024-03-10 11:16:22 247 1

原创 【整除分块&莫比乌斯反演】洛谷P2522 Problem b

显然两段区间所产生的的答案可以用容斥原理“归一”处理。个d的倍数,所以可以把后面两个大。处理,详参上一篇题解。

2024-03-09 14:11:46 165

原创 【整除分块】洛谷P2261 余数求和 题解

还要注意,因为分块的单个值出现了等于0的情况,所以计算右端点时要特判,否则会报错!,将其归到一块统一处理,从而达到减小时间复杂度的目的。众所周知,在分块中,是通过双指针l和r实现分块的截取。对左右指针l和r的计算:对于有序数组。为分块的左边界,那么分块的单个值为。那么对于每个分块,其对答案的贡献为。得知l和r怎么计算后,就要将。的最大下标,即寻找满足。,那么右边界就是值为。

2024-03-09 13:27:19 230

原创 【树的直径】洛谷 P1099树网的核和P2491消防 题解

计算树的直径,其实就是计算根节点到距离最远的两个节点的距离之和,用双dfs或者树形dp就可以实现(树形dp可以适配带有负边权的情况,应该挺好理解的)。在上图,红色点(包含蓝色)表示直径,蓝色的是选的路径,这段路径在直径上。显然,红色点的贡献都小于路径两个端点的贡献。,使得离路径距离最远的点到路径的距离最短。,并通过在计算直径的两遍dfs过程中,预处理出。——还可以把数据限制更严的消防给通过了。我觉得CCF的出题者挺喜欢长篇大论的,我们可以使用尺取的思想,选定要选的路径;时的距离(深度)的数组;

2024-02-03 21:42:46 231 1

原创 【最短路】洛谷P1491集合位置题解

那么,当我们找出原图的所有最短路径并“删除”,再跑一边最短路就可以找到次短路了——但怎么“删边”呢?其实并不需要删边这么麻烦,我们只需要找到最短路径边集后,跳过最短路径上相邻的两个点就好了。最短路的实现还是用Dijkstra吧,目标明确又简短,但怎么求这个次短路?这一题实则还是运用最短路算法——这道题讲了这么多,其实就是要求。次短路就是次于最短路的路径方案。

2024-01-30 21:53:29 297 1

原创 更强大的排序——归并排序

虽然在考场中,不到万不得已,各位应该都会使用快排吧,而非花大量时间特意写个大函数作其他的排序,且一般情况下快排的时间复杂度都是。在今天的对cdq分治的学习中,其核心便是归并排序(还有树状数组优化),其功能强大且时间复杂度也是稳定且高效的去到!今天析一下这归并排序。

2024-01-24 20:43:05 331 1

原创 【树状数组】区间修改,单点查询 洛谷P3368

差分数组的一个性质:对一个区间增减某个值的时候,差分数组的区间左端点值会同步变化,而其右端点后一个值会产生相反地变化,其他点不变。接上一篇题解,这一题由“单点修改,区间查询”变成了“区间修改,单点查询”。此时我们要引入一个知识点:差分。只需要将差分数组的前i个值相加。差分数组cha,使得。

2023-08-27 16:37:35 172 1

原创 【树状数组】单点修改,区间查询 洛谷P3374

假设求区间[x,y]的和,可以运用前缀和的思想,分别求出1到y和1到x的区间和然后相减即可,而刚刚的规律正是适合的。通过对二进制数的特点,从而快速的实现下标的转移, 时间可以缩短至。观察1,2,4,8的二进制,他们的变化可以由低位1实现,即。这是一道基础的树状数组的题目,属于单点修改,区间查询。都有不同的负责,但其负责的对象是成包含关系的。开始看起,如何回到自己的“最高管理层”对于t数组负责的规律,不难发现。有两个操作,第一个操作是把点。对于区间查询操作,可以通过。数组的值来计算,因为每一个。

2023-08-27 16:14:26 63

原创 【MST】关于最小生成树kruskal解法的笔记 洛谷P3366

注意如果已经有一条唯一路径连接的两个点,遍历边的两个节点时不能再将这条边算入了,否则就不是最小的权值和,因此还需要用到并查集,来判断两个点之间是否联通。首先要对边权进行排序,(输入的当前节点指向节点和边权使用结构体中的u,v,w表示),容易证明前。另外注意到,如果这些点无法联通就输出orz,那么把这句话转化一下就变成:如果边数不足。个点组成连通块(除非有一个点的度数均为0),因此遍历第。这是一道典型的最小生成树问题,题目给了。个点联通,因此在程序的最后需要特判。,若不联通输出orz。

2023-08-27 15:36:00 55

原创 【线段树】洛谷P3870 开关题解

本质上是维护下标为1,2,..,n的n个按顺序排列的数的信息,即是维护n的个点的信息,至于每个点的数据的含义可以有很多。这样就易如反掌的实现了开关灯的操作(其实1和-1转换应该也可以),而且也方便了更新状态,减少了大幅的码量!在做操作的同时,还引入了一个叫做“懒惰标记”的东西,它起到了延迟操作,防止操作堆积的作用。而线段树的优点正是可以快速地对一段区间进行同样操作,并且其时间复杂度降到了。的分解都是唯一的,我的理解就是改变了到达某一个下标的方式。,对该区间的灯作相反操作(开的变关,关的变开)。

2023-08-26 15:02:37 81 1

原创 【ST表RMQ】洛谷P2471 降雨量题解

就是运用倍增的思想和动态规划,用来维护一段区间内的极值,即用。记得获取最大值的时候,因为依题意不讨论。之间的最大值有可能出现两个,就不满足题设了!C.以上两种情况都没有,就可以对。就说明没有所谓的“未知年份”,因此是。之中的其中一个,那么就只需要讨论是。就好了,思路和上面是差不多的。根据所给的年份和降雨量,求出。年以来降雨量最大的,因为在。两个年份相邻时,那么就是。的最大值,这时有需要讨论。自己和自己比较,因此是。年以来降雨量最大的,而。间是否有未知的年份,当。的极值,其转移方程是。间有年份未知,因此是。

2023-08-24 15:08:28 107 1

原创 【组合数学】石门夏令营0719测试 网络

此时动用一些组合数学方面的知识,运用“插板法”,可以得出将冗余行操作分配到h行中的分配数有。最后分配有效操作到h行w列上,所以做j次有效行操作、k次有效列操作的总方案数(计算冗余操作)共有。总共要进行r次行操作和c次列操作,目标是最后网格有s个1,有多少种不同的方案?同一行可以进行多次重复“行操作”,同一列可以进行多次“列操作”。1、行操作,选中一行,0变1,1变0。2、列操作,选择一列,0变1,1变0。

2023-07-19 20:52:28 134

原创 【二分】CF1486D Max Median

原题洛谷查看。

2023-07-18 19:00:10 90 2

原创 【lca】洛谷P1351 联合权值题解

每条边的长度均为1。本例输入的图如上所示,距离为2的有序点对有(1,3)、(2,4)、(3,1)、(3,5) 、(4,2)、(5,3)。最后1行,包含n个正整数,每两个正整数之间用一个空格隔开,其中第i个整数表示图G上编号为i的点的权值为Wi。,那么其联合权值为n个权值两两相乘的2倍(数对是可以翻转的),数学好的各位其实不难发现,这个联合权值就是。输出共1行,包含2个整数,之间用一个空格隔开,依次为图G上联合权值的最大值和所有联合权值之和。请问图G上所有可产生联合权值的有序点对中,联合权值最大的是多少?

2023-07-17 21:09:15 54 1

原创 【最近公共祖先】浅论lca

步之后,达到了u和v的公共祖先,但是这可能并不是n和v的最近公共祖先——跳“过去”了。如果用暴力做法,面对严格的时间条件必然是不行的,它的时间复杂度往往不能满足需求。,最为直截了当的做法就是始终将深度较深的往上跳跃一步,直到u,v的深度第一次相等时,那么该节点就是。不难看出,lca可以用作查询树中两点之间最短距离,即计算根节点到两节点u和v的距离是。如图所示,在图1中,u和v的lca为q;特别的,节点本身也可以做祖先,如u和q的lca为q。的,面对多组查询的情况,那就完蛋了。,换句话说,就是在一棵树中,

2023-07-17 20:31:55 53 1

原创 【Trie字典树】字典树の小总结

下标计数对各位而言再平常不过,使用数组或者map等均可实现。但是它们常常有限制约束——下标过大、时间复杂度要求过高、字符串等,这就很麻烦了……此时,字典树的用处就出来了。关于字典树图1以字符串为例,将一个单词拆分为若干字母,存入如图1的树状图中,并用数字为每个节点标序号,以树的方式访问。同样的,数字有关的也可以像这样储存。Map实现的是哈希表,用于解决的精确查找,使用key-value存储,十分常用。Trie字典树,用于解决前缀检索(模糊查找)——当然也可以演化出后缀树,解决后缀检索问题。

2023-07-16 21:17:43 49 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除