摘要: 图 ……我就是这么懒的一个人 struct Graph { #define h(x) h[x] #define nxt(x) a[x].nxt #define to(x) a[x].to #define w(x) a[x].w struct Edge { int to, w, nxt; } a[Ma 阅读全文
posted @ 2024-05-23 16:00 yabnto 阅读(37) 评论(0) 推荐(0)
摘要: 树上启发式合并 适用于维护子树内信息 例题:CF246E 思路 暴力 将询问离线下来,挂在每个点上 对于每个点 \(x\),维护一个桶 \(cnt_{dep}\),统计深度 \(dep\) 下不同字符串出现的次数 对于 \(x\) 上的询问输出 \(cnt_{dep_x+k}\) 每切换一个 \(x 阅读全文
posted @ 2024-04-09 13:10 yabnto 阅读(74) 评论(0) 推荐(0)
摘要: 祖宗发射器 阅读全文
posted @ 2024-03-09 20:28 yabnto 阅读(59) 评论(0) 推荐(0)
摘要: P3805 【模板】manacher 算法 题意 给定一个字符串,求所有字串中的最长回文串。 思路 暴力肯定过不了,如果在一个已经求出来的回文串中知道左半边,也肯定知道右半边,那么设 \(d_i\) 为以 \(i\) 为中心的回文串(奇数长度)的最长半径,那么在一个回文串 \([l,r]\) 中,知 阅读全文
posted @ 2024-03-09 16:04 yabnto 阅读(45) 评论(0) 推荐(0)
摘要: 线性基 板题 P3812 【模板】线性基 思路 首先得会高斯消元,然后我们从高斯消元的阴影中走出来,顺便带走我们的增广矩阵,然后把 \(b\) 砍了(\(b\) 是什么?建议你看看高斯消元),此时我们会得到一个矩阵,然后把它放到异或意义上,每个数就只会是 \(0\) 和 \(1\) 了,而我们要求的 阅读全文
posted @ 2024-02-04 00:04 yabnto 阅读(53) 评论(0) 推荐(0)
摘要: 高斯消元 板题 [SDOI2006] 线性方程组(别问我为什么不是【模板】高斯消元法,这个太**了) 思路 首先需要引入一个定义增广矩阵。 所以一个 \(n\) 元线性方程组就可以抽象成一个矩阵,\(a\) 为系数,\(b\) 为方程的常数项: \(\begin{bmatrix}a_{11}&\cd 阅读全文
posted @ 2024-02-03 23:36 yabnto 阅读(33) 评论(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 阅读(83) 评论(0) 推荐(0)
摘要: P1334 瑞瑞的木板 这道题想都没想直接合并果子过掉 P8743 [蓝桥杯 2021 省 A] 异或数列 思路 这道题是到思维题,我们先来看一看这道题如何理解:首先可以看作 \(A\)、 \(B\) 各有 \(20\) 个格子,然后对于每一个数,也分成二十个格子,每个格子就是填这个数在二进制下这一 阅读全文
posted @ 2023-12-25 22:13 yabnto 阅读(53) 评论(0) 推荐(0)
摘要: [CSP-S 2023] 密码锁 耗时 1h ? 思路 考试时先前没有看懂题。因为给出的 \(n\) 个状态都是转了的,所以可以枚举所有转回来的状态,如果有一种状态出现了 \(n\) 此就是可以的。呜呜呜小图灵你为什么给我标 \(70\) 分! code #include <bits/stdc++. 阅读全文
posted @ 2023-10-22 21:17 yabnto 阅读(74) 评论(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 阅读(81) 评论(0) 推荐(0)