摘要: 点分治是树分治的一种形式,通常用来求满足某种要求的路径数量。 引入 有 \(n\) 个数,问是否存在一个 \(l, r\) 使得区间和为 \(k\),强行用分治做,可以将数组分成两半,递归后处理左边 \(l\) 右边 \(r\),然后就用前缀和加 \(map\) 加归并的并做就可以了。 思路 可以将 阅读全文
posted @ 2024-03-09 20:28 yabnto 阅读(8) 评论(0) 推荐(0) 编辑
摘要: P3805 【模板】manacher 算法 题意 给定一个字符串,求所有字串中的最长回文串。 思路 暴力肯定过不了,如果在一个已经求出来的回文串中知道左半边,也肯定知道右半边,那么设 \(d_i\) 为以 \(i\) 为中心的回文串(奇数长度)的最长半径,那么在一个回文串 \([l,r]\) 中,知 阅读全文
posted @ 2024-03-09 16:04 yabnto 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 线性基 板题 P3812 【模板】线性基 思路 首先得会高斯消元,然后我们从高斯消元的阴影中走出来,顺便带走我们的增广矩阵,然后把 \(b\) 砍了(\(b\) 是什么?建议你看看高斯消元),此时我们会得到一个矩阵,然后把它放到异或意义上,每个数就只会是 \(0\) 和 \(1\) 了,而我们要求的 阅读全文
posted @ 2024-02-04 00:04 yabnto 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 高斯消元 板题 [SDOI2006] 线性方程组(别问我为什么不是【模板】高斯消元法,这个太**了) 思路 首先需要引入一个定义增广矩阵。 所以一个 \(n\) 元线性方程组就可以抽象成一个矩阵,\(a\) 为系数,\(b\) 为方程的常数项: \(\begin{bmatrix}a_{11}&\cd 阅读全文
posted @ 2024-02-03 23:36 yabnto 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 斜率优化 前置芝士:\(斜率 = \frac{a_y-b_y}{a_x-b_x}\) 列题:P3195 [HNOI2008] 玩具装箱 首先你要知道这是 \(dp\)。 其次你要写出暴力来,这里简略一下,设 \(q_i\) 为前缀和:\(f_i = min(f_j + (q_i - q_j + i 阅读全文
posted @ 2024-01-29 23:15 yabnto 阅读(12) 评论(0) 推荐(0) 编辑
摘要: P1334 瑞瑞的木板 这道题想都没想直接合并果子过掉 P8743 [蓝桥杯 2021 省 A] 异或数列 思路 这道题是到思维题,我们先来看一看这道题如何理解:首先可以看作 \(A\)、 \(B\) 各有 \(20\) 个格子,然后对于每一个数,也分成二十个格子,每个格子就是填这个数在二进制下这一 阅读全文
posted @ 2023-12-25 22:13 yabnto 阅读(5) 评论(0) 推荐(0) 编辑
摘要: [CSP-S 2023] 密码锁 耗时 1h ? 思路 考试时先前没有看懂题。因为给出的 \(n\) 个状态都是转了的,所以可以枚举所有转回来的状态,如果有一种状态出现了 \(n\) 此就是可以的。呜呜呜小图灵你为什么给我标 \(70\) 分! code #include <bits/stdc++. 阅读全文
posted @ 2023-10-22 21:17 yabnto 阅读(51) 评论(0) 推荐(0) 编辑
摘要: [CSP-J 2023] 小苹果 这道题由于不会算时间复杂度,大概用了 \(\frac{3}{10}\) 的时间。 思路 样例我们先手推一下: 1 2 3 4 5 6 7 8 2 3 5 6 8 3 5 8 5 8 8 我们先将每个数的位置对三取模后的数标一下(括号里的数就是位置对三取模后的数): 阅读全文
posted @ 2023-10-22 20:25 yabnto 阅读(43) 评论(0) 推荐(0) 编辑
摘要: P1631 序列合并 思路 思路一 题目要求的是二维的,太麻烦,所以我们可以将其用一维划分,将每一组都变成线性的,那线性的就很好求了,直接排序然后从前往后算即可,那么就可以将这 \(n\) 组合并,但如果是整个都算出来再合并就会是 \(O(n^2)\) 的,所以可以只记录当前的,那么对于当前的最小的 阅读全文
posted @ 2023-09-24 17:17 yabnto 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 20230921 T378733 成长 grow 思路 按题目模拟即可。 时空复杂度 时间:\(O(9)\) 空间:\(O(11)\) T378729 清洁 clean 思路 首先我们可以将图分为上下两个矩形,以便于我们计算,然后我们会发现圆会和矩形有两个交点,而这两个交点分别会在两条边上,如下图( 阅读全文
posted @ 2023-09-22 12:04 yabnto 阅读(8) 评论(0) 推荐(0) 编辑