摘要: 现在有这些按钮: 按钮 \(1\):当按下此按钮,将改变所有的灯:本来亮着的灯就熄灭,本来是关着的灯被点亮; 按钮 \(2\):当按下此按钮,将改变所有奇数号的灯; 按钮 \(3\):当按下此按钮,将改变所有偶数号的灯; 按钮 \(4\):当按下此按钮,将改变所有序号是 \(3k+1 \ (k \i 阅读全文
posted @ 2025-10-03 09:58 虚空远行者 阅读(44) 评论(0) 推荐(0)
摘要: 首先lca是树上两个节点的最近公共祖先,也就是两个节点的公共祖先中最深的那个。(祖先的定义都知道吧) 最简单的是倍增算法。 倍增 朴素算法是一层层往上跳,而倍增是每次跳\(2^i\)次,大大减少了跳跃次数。 预处理 我们需要两个数组:第\(2^j\)个祖先和它的深度。 实现 首先让两个节点深度相同( 阅读全文
posted @ 2025-09-27 21:51 虚空远行者 阅读(34) 评论(0) 推荐(0)
摘要: 呱呱呱 CCF has no egg! 上午-CSPJ初赛 在考场遇到了机房的所有同学。前面没什么好讲的,直接时间跨越到开始比赛(eee)。 WC这个水印太变态了,三个\(\large{HN}\),题目都看不清。不过还好,估分88.5。 中午 和phy,lj,lwj,yjx,qyh一起吃饭,然后跑到 阅读全文
posted @ 2025-09-22 17:04 虚空远行者 阅读(48) 评论(0) 推荐(0)
摘要: 我们知道 \(x^{2y}=x^{2^y}\),快速幂就是运用的这个性质求 \(x^y\)。 具体的: 当 \(y\%2=1\) 时,\(ans=ans\times x,y=y-1\) \(y\%2=0\),\(x=x*x,y=y\div2\) 正确性证明 注意到最后 \(y\) 一定会变为 \(1 阅读全文
posted @ 2025-09-21 19:32 虚空远行者 阅读(24) 评论(0) 推荐(0)
摘要: 都要用到分配律,不满足的不能使用这种算法。 线段树 其实树状数组是比线段树简单的。但是因为树状数组能做的,线段树也能做,但是线段树能做树状数组不能做的。 建树 用一张图表示线段树: 呃呃呃可能有点抽象,把它改成线段就好理解了(但是上面这份图对于熟悉的人更清晰): 诶太丑了不放了,大家理解就好了( 其 阅读全文
posted @ 2025-09-18 21:28 虚空远行者 阅读(48) 评论(1) 推荐(0)
摘要: 前置知识 离散化,线段树 扫描线 首先假设你有\(n\)个矩形。如果直接暴力求解这些矩形的覆盖面积肯定不行,这时就要用扫描线算法。 假设有一根线,从下往上扫描: 把每个小矩形分成很多不同的块,高是扫过的距离,那个位置没有被覆盖高就是 \(0\)。显然答案就是高 \(×\) 宽的和。 每次线碰到矩形底 阅读全文
posted @ 2025-09-18 20:36 虚空远行者 阅读(22) 评论(0) 推荐(0)
摘要: (2025)本人初一,男,洛谷号ggpw_XNW。 我的账号一般不是tian开头就是虚空远行者(void_trailwalker)或ggpw。 头像不是梦幻(洛谷)就是亡灵法师(cnblogs),一般ggpw会用梦幻。 OIer菜鸡一个,HTML都不会,只是随便记录一点东西。 外号泡蛙,有什么事都可 阅读全文
posted @ 2025-09-14 19:28 虚空远行者 阅读(30) 评论(0) 推荐(0)