自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CF1007(Div.2)BCD

当然,直接暴力是过不了的,但我们可以观察到,完全平方数很分散,所以可以得到一种o(n)的解法。从1开始遍历,如果此时加上i,我们的cnt是完全平方数,那我们就可以将该数与下一个数交换,从而就可以避免cnt成为完全平方数。在开始时这种做法显而易见可以,因为交换的是i+1,在结束时也同样可以。这个题目很好,读过题我们知道,当m(也就是l和r)<= 2n + 1 时,我们只用求1的m的异或和。而由于该题求的是所给数整除2后的结果,从而导致了当m>n时且m为偶数,那么a(m)=a(m+1),从而可以相消。

2025-03-01 16:22:31 367

原创 图及拓扑排序的使用

通过洛谷提单中的四道题进行练习。

2025-02-25 16:27:50 781

原创 CF1002(div2)ABC

首先,根据题意我们不难发现,要使c中有三个不同的元素,当a或b数组中任意一个有三个不同的元素,就一定会成立。其次,如果每个集合中都含有两个完全不同的元素,那么也可以构成如 x+a<x+b<y+b 的式子,一定会成立。根据这两个条件,我们就可以解出这题。

2025-02-24 10:57:14 276

原创 图的拓扑排序

图的拓扑排序

2025-01-09 00:00:03 242

原创 并查集的合并应用(带权)

并查集带权合并

2025-01-08 11:44:14 473

原创 树的遍历(已知两种求第三种)

算法笔记

2025-01-07 21:40:49 404

原创 KMP算法

kmp算法笔记

2025-01-07 20:15:37 1431

原创 并查集合并的三种方式(路径压缩,按秩合并,启发式合并)

并查集的三种合并方式

2025-01-06 10:24:45 1316 6

原创 树的最近公共祖先(LCA)倍增求法

最近公共祖先(LCA):即给出两个节点x和y,找到他们不断向上爬首次共有的祖先。如图所示,8和6的公共祖先为1,10和7的公共祖先为3,4和5的公共祖先为2。如果使用朴素算法来解决问题,时间复杂度将会达到o(n^2),这里我们将使用倍增法,时间复杂度为o(nlogn)。那么倍增法该怎么做呢。我们将建立以个二维数组fa[i][j],其中i代表该节点,j表示向上走2^j,fa[i][j]即表示i节点向上走2^j后到达的节点。

2025-01-06 09:18:21 691 2

原创 树的重心(等权与带权)

树的重心的求法

2025-01-05 20:11:24 1418 1

原创 树的直径(c++)

关于求树的直径的两种做法

2025-01-05 19:08:00 536 2

空空如也

空空如也

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

TA关注的人

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