随笔分类 -  题解

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要:操作 $2,3$ 可以用 $1,4$ 容斥,所以没用。 设 $b_{i,j}=a_{i,j}\oplus a_{i+1,j}\oplus a_{i,j+1}\oplus a_{i+1,j+1}$, 则操作 $1$ 翻转 $(1,1)$ 到 $(i,j)$ 的矩阵等价于 $b_{i,j}\gets b 阅读全文
posted @ 2023-07-03 10:12 Jijidawang 阅读(14) 评论(0) 推荐(0)
摘要:设 $f_{n,k}$ 表示 $n$ 个人,$k$ 次一出的约瑟夫问题答案。 则有 $f_{n,k}=f_{n-1,k}+k-1\bmod n + 1$。 证明:考虑第一个人出去后,问题变成 $n-1$ 个人,$k$ 次一出的约瑟夫问题, 算出该问题的答案 $f_{n-1,k}$ 后,原问题的答案即 阅读全文
posted @ 2023-06-17 18:48 Jijidawang 阅读(26) 评论(0) 推荐(0)
摘要:枚举 $j_0$,考虑有多少满足条件的三元组的 $j=j_0$。 根据题意,$(i,j_0,k)$ 满足条件当且仅当 $a_i<b_{j_0}<c_k$, 则 $(i,j_0,k)$ 的个数即为 $a_i<b_{j_0},c_k>b_{j_0}$ 的 $(i,k)$ 的对数, 即 $\sum[a_i 阅读全文
posted @ 2023-06-17 16:54 Jijidawang 阅读(33) 评论(0) 推荐(0)
摘要:为啥高维借教室比借教室难度评分低啊 为啥都写一维差分啊,来个三维差分。 二分爆炸时间 $x$,考虑怎么 check。 做 $[1,x]$ 的所有操作,然后如果存在一个点受到的攻击量大于这个点的防御力,那么答案 $\le x$,否则答案 $>x$。 用三维差分维护操作,操作结束后判断每个点是否爆炸。 阅读全文
posted @ 2023-06-17 16:35 Jijidawang 阅读(24) 评论(0) 推荐(0)
摘要:考虑目前已经考虑了 $i$ 个人,还需要付 $S'$ 元钱。 则剩下 $n-i+1$ 个人出的钱应该往他们的平均数 $\dfrac{S'}{n-i+1}$ 靠拢。 所以若第 $i+1$ 个人的钱数大于 $\dfrac{S'}{n-i+1}$,则他出 $\dfrac{S'}{n-i+1}$ 元钱,否则 阅读全文
posted @ 2023-06-17 15:54 Jijidawang 阅读(22) 评论(0) 推荐(0)
摘要:有 $a+b+c\equiv 0\pmod k$,则 $a\bmod k+b\bmod k+c\bmod k\in\{0,k,2k\}$。 证明比较显然,小于 $3k$ 的 $k$ 的倍数只有 $\{0,k,2k\}$。 分讨三种情况,对 $a\bmod k+b\bmod k+c\bmod k=z$ 阅读全文
posted @ 2023-06-17 15:26 Jijidawang 阅读(26) 评论(0) 推荐(0)
摘要:别的题解好像都带 $\log$,来个 $O(n)$ 的。 扫描时间轴,对当前时间 $i$ 维护 $(i-d,i]$ 时刻每个帖子 $j$ 的获赞数 $c_j$。 维护 $v_i$ 表示 $i$ 时间获赞的帖子,扫描到 $i$ 时刻时 $\forall j\in v_{i-d},c_j\gets c_ 阅读全文
posted @ 2023-06-17 11:13 Jijidawang 阅读(13) 评论(0) 推荐(0)
摘要:按最小值分治。 考虑统计 $l,r$ 内跨过最小值位置 $m$ 的满足条件的区间个数。 遍历 $[l,m],[m,r]$ 中较小的一个区间。设 $s_i=\sum\limits_{j=1}^i b_j$。 $m-l\le r-m$:遍历左端点 $i\in[l,m]$,则右端点 $j\in[m,r]$ 阅读全文
posted @ 2023-06-17 10:15 Jijidawang 阅读(16) 评论(0) 推荐(0)
摘要:【模板】基环树找环 用并查集维护连通性,先把没有环的部分建出来。 考虑加入边 $(u,v)$ 时出现环,则该环由 $(u,v)$ 和树上 $u\to v$ 的路径组成。 从 $u$ DFS 这棵树,记录遍历的路径,遍历到 $v$ 时输出路径即可。 #include <cstdio> #include 阅读全文
posted @ 2023-06-16 17:22 Jijidawang 阅读(18) 评论(0) 推荐(0)
摘要:不知道为啥别的题解直接就快速幂了……感觉这个不容易看出 小数点后第 $n$ 位就是把小数点往后移 $n$ 位后的个位。 根据小学数学知识,把一个数的小数点往后移 $n$ 位相当于把这个数乘以 $10^n$。 所以 $\dfrac ab$ 的第 $n$ 位即为 $\dfrac{a\times 10^n 阅读全文
posted @ 2023-06-16 08:29 Jijidawang 阅读(35) 评论(0) 推荐(0)
摘要:递归。令 D() 返回接下来的一个子表达式的答案。 考虑下一个字符: x:答案接上 x,答案加一。 (:答案接上下一个子表达式,答案加 D()。 ):该子表达式结束,返回答案。 |:答案与下一个子表达式取 $\max$ 后该子表达式结束,返回答案与 D() 的最大值。 #include <cstdi 阅读全文
posted @ 2023-06-15 16:15 Jijidawang 阅读(22) 评论(0) 推荐(0)
摘要:来一些不一样的做法。同余最短路。 以模 $a_1$ 的同余类为点集建图,有边 $[u]\xrightarrow{w}[v]$ 当且仅当 $u+w\equiv v\pmod{a_1}$。 则 $[0]$ 到 $[x]$ 的一条长度为 $d$ 的路径对应一种凑出 $d$ 的方案。 求出 $[0]$ 到其 阅读全文
posted @ 2023-06-15 15:33 Jijidawang 阅读(20) 评论(0) 推荐(0)
摘要:树上倍增+可并堆。 把原图的 MST 建出来,分别考虑非树边和树边的答案。 对于非树边 $(u,v)$,其最大为 $u\to v$ 路径最大值 $-1$ 时,可以替换掉这个最大值,加入 MST。 树上倍增维护路径最大值即可。 对于树边 $(u,v)$,其最大为所有覆盖其的非树边的最小值 $-1$ 时 阅读全文
posted @ 2023-06-15 10:36 Jijidawang 阅读(12) 评论(0) 推荐(0)
摘要:题解一血 & 最优解。 枚举相同子串的内容 $i$,设 $f_o$ 表示从 $o$ 个串中各选一个 $i$ 的方案数, 则对 $j\in[1,n]$,有转移 $f_o\gets f_o+f_{o-1}\times c_{j,i}$,其中 $c_{j,i}$ 表示 $j$ 串中 $i$ 的出现次数。 阅读全文
posted @ 2023-06-14 16:38 Jijidawang 阅读(23) 评论(0) 推荐(0)
摘要:询问的字符串长度很小,答案只可能是询问字符串的子集,所以直接对询问字符串枚举子集。 需要判断枚举出的答案是否合法,即是否为 $a$ 的子序列。预处理 $v_x=\{i|a_i=x\}$。 则对答案 $z$ 遍历 $i\in[1,|z|]$,当前位置 $i$ 在 $a$ 中的位置 $p$ 一定在 $i 阅读全文
posted @ 2023-06-14 11:00 Jijidawang 阅读(15) 评论(0) 推荐(0)
摘要:其实我也没写什么正经做法……不过能过题 对集会位置退火,考虑对任意集会位置 $a,b,c$ 怎么 $O(1)$ 计算答案。 以 $[1,a]$ 的家庭为例,其贡献为 $\sum\limits_{i=1}^at_i(d_a-d_i)=d_a\sum\limits_{i=1}^a t_i-\sum\li 阅读全文
posted @ 2023-06-14 09:37 Jijidawang 阅读(19) 评论(0) 推荐(0)
摘要:不用莫反…… $$ \begin{aligned} &\sum\limits_{i=1}^n\sum\limits_{j=i+1}^n\gcd(i,j)\\ =&\sum\limits_{i=1}^n\sum\limits_{j=1}^{i-1}\gcd(i,j)\\ =&\sum\limits_{ 阅读全文
posted @ 2023-06-12 15:41 Jijidawang 阅读(27) 评论(0) 推荐(0)
摘要:平板电视做法,码量很小。 需要维护带单点修改的二维偏序,考虑树套树。 手写太麻烦了,考虑树状数组套 __gnu_pbds::tree。 用 tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update> c 定义 阅读全文
posted @ 2023-06-12 09:47 Jijidawang 阅读(16) 评论(0) 推荐(0)
摘要:最短解?(格式化前) 需要维护带单点修改的二维偏序,考虑树套树。 手写太麻烦了,考虑树状数组套 __gnu_pbds::tree。 用 tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update> c 定义一棵 阅读全文
posted @ 2023-06-12 09:29 Jijidawang 阅读(21) 评论(0) 推荐(0)
摘要:目前唯一能过的动态点分治题解。 在点分树的每个点上维护 $C_u$ 表示 $u$ 子树内的点到 $fa_u$ 的距离集合, $P_u$ 表示 $u$ 到其每个子树的距离最大值集合。特别地,若 $u$ 是白点,还要在 $P_u$ 中加入 $0$, 即 $P_u=\begin{cases}\{\max\ 阅读全文
posted @ 2023-05-30 10:06 Jijidawang 阅读(32) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页