随笔分类 -  题解

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要:操作 2,3 可以用 1,4 容斥,所以没用。 设 bi,j=ai,jai+1,jai,j+1ai+1,j+1, 则操作 1 翻转 (1,1)(i,j) 的矩阵等价于 $b_{i,j}\gets b 阅读全文
posted @ 2023-07-03 10:12 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:设 fn,k 表示 n 个人,k 次一出的约瑟夫问题答案。 则有 fn,k=fn1,k+k1modn+1。 证明:考虑第一个人出去后,问题变成 n1 个人,k 次一出的约瑟夫问题, 算出该问题的答案 fn1,k 后,原问题的答案即 阅读全文
posted @ 2023-06-17 18:48 Jijidawang 阅读(8) 评论(0) 推荐(0) 编辑
摘要:枚举 j0,考虑有多少满足条件的三元组的 j=j0。 根据题意,(i,j0,k) 满足条件当且仅当 ai<bj0<ck, 则 (i,j0,k) 的个数即为 ai<bj0,ck>bj0(i,k) 的对数, 即 $\sum[a_i 阅读全文
posted @ 2023-06-17 16:54 Jijidawang 阅读(13) 评论(0) 推荐(0) 编辑
摘要:为啥高维借教室比借教室难度评分低啊 为啥都写一维差分啊,来个三维差分。 二分爆炸时间 x,考虑怎么 check。 做 [1,x] 的所有操作,然后如果存在一个点受到的攻击量大于这个点的防御力,那么答案 x,否则答案 >x。 用三维差分维护操作,操作结束后判断每个点是否爆炸。 阅读全文
posted @ 2023-06-17 16:35 Jijidawang 阅读(5) 评论(0) 推荐(0) 编辑
摘要:考虑目前已经考虑了 i 个人,还需要付 S 元钱。 则剩下 ni+1 个人出的钱应该往他们的平均数 Sni+1 靠拢。 所以若第 i+1 个人的钱数大于 Sni+1,则他出 Sni+1 元钱,否则 阅读全文
posted @ 2023-06-17 15:54 Jijidawang 阅读(9) 评论(0) 推荐(0) 编辑
摘要:有 a+b+c0(modk),则 amodk+bmodk+cmodk{0,k,2k}。 证明比较显然,小于 3kk 的倍数只有 {0,k,2k}。 分讨三种情况,对 amodk+bmodk+cmodk=z 阅读全文
posted @ 2023-06-17 15:26 Jijidawang 阅读(11) 评论(0) 推荐(0) 编辑
摘要:别的题解好像都带 log,来个 O(n) 的。 扫描时间轴,对当前时间 i 维护 (id,i] 时刻每个帖子 j 的获赞数 cj。 维护 vi 表示 i 时间获赞的帖子,扫描到 i 时刻时 $\forall j\in v_{i-d},c_j\gets c_ 阅读全文
posted @ 2023-06-17 11:13 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:按最小值分治。 考虑统计 l,r 内跨过最小值位置 m 的满足条件的区间个数。 遍历 [l,m],[m,r] 中较小的一个区间。设 si=j=1ibjmlrm:遍历左端点 i[l,m],则右端点 j[m,r] 阅读全文
posted @ 2023-06-17 10:15 Jijidawang 阅读(2) 评论(0) 推荐(0) 编辑
摘要:【模板】基环树找环 用并查集维护连通性,先把没有环的部分建出来。 考虑加入边 (u,v) 时出现环,则该环由 (u,v) 和树上 uv 的路径组成。 从 u DFS 这棵树,记录遍历的路径,遍历到 v 时输出路径即可。 #include <cstdio> #include 阅读全文
posted @ 2023-06-16 17:22 Jijidawang 阅读(11) 评论(0) 推荐(0) 编辑
摘要:不知道为啥别的题解直接就快速幂了……感觉这个不容易看出 小数点后第 n 位就是把小数点往后移 n 位后的个位。 根据小学数学知识,把一个数的小数点往后移 n 位相当于把这个数乘以 10n。 所以 ab 的第 n 位即为 $\dfrac{a\times 10^n 阅读全文
posted @ 2023-06-16 08:29 Jijidawang 阅读(13) 评论(0) 推荐(0) 编辑
摘要:递归。令 D() 返回接下来的一个子表达式的答案。 考虑下一个字符: x:答案接上 x,答案加一。 (:答案接上下一个子表达式,答案加 D()。 ):该子表达式结束,返回答案。 |:答案与下一个子表达式取 max 后该子表达式结束,返回答案与 D() 的最大值。 #include <cstdi 阅读全文
posted @ 2023-06-15 16:15 Jijidawang 阅读(7) 评论(0) 推荐(0) 编辑
摘要:来一些不一样的做法。同余最短路。 以模 a1 的同余类为点集建图,有边 [u]w[v] 当且仅当 u+wv(moda1)。 则 [0][x] 的一条长度为 d 的路径对应一种凑出 d 的方案。 求出 [0] 到其 阅读全文
posted @ 2023-06-15 15:33 Jijidawang 阅读(8) 评论(0) 推荐(0) 编辑
摘要:树上倍增+可并堆。 把原图的 MST 建出来,分别考虑非树边和树边的答案。 对于非树边 (u,v),其最大为 uv 路径最大值 1 时,可以替换掉这个最大值,加入 MST。 树上倍增维护路径最大值即可。 对于树边 (u,v),其最大为所有覆盖其的非树边的最小值 1阅读全文
posted @ 2023-06-15 10:36 Jijidawang 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题解一血 & 最优解。 枚举相同子串的内容 i,设 fo 表示从 o 个串中各选一个 i 的方案数, 则对 j[1,n],有转移 fofo+fo1×cj,i,其中 cj,i 表示 j 串中 i 的出现次数。 阅读全文
posted @ 2023-06-14 16:38 Jijidawang 阅读(9) 评论(0) 推荐(0) 编辑
摘要:询问的字符串长度很小,答案只可能是询问字符串的子集,所以直接对询问字符串枚举子集。 需要判断枚举出的答案是否合法,即是否为 a 的子序列。预处理 vx={i|ai=x}。 则对答案 z 遍历 i[1,|z|],当前位置 ia 中的位置 p 一定在 $i 阅读全文
posted @ 2023-06-14 11:00 Jijidawang 阅读(5) 评论(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 阅读(4) 评论(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 阅读(10) 评论(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 阅读(3) 评论(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 阅读(6) 评论(0) 推荐(0) 编辑
摘要:目前唯一能过的动态点分治题解。 在点分树的每个点上维护 Cu 表示 u 子树内的点到 fau 的距离集合, Pu 表示 u 到其每个子树的距离最大值集合。特别地,若 u 是白点,还要在 Pu 中加入 0, 即 $P_u=\begin{cases}\{\max\ 阅读全文
posted @ 2023-05-30 10:06 Jijidawang 阅读(10) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
点击右上角即可分享
微信分享提示