06 2023 档案

摘要:4514 年国际 PC(Personal Computing,个人计算)奥赛(IOP)上,以唯一满分拿下第一名的 Z\textcolor{red}{epX\_D},成为最夺目的选手。 而且虽然是初三的选手,但他夺冠后,不少网友并不感到陌生,纷纷留言: 这不是洛谷上天天爆切神仙题的小 阅读全文
posted @ 2023-06-24 18:22 Jijidawang 阅读(172) 评论(1) 推荐(0) 编辑
摘要:设 fn,k 表示 n 个人,k 次一出的约瑟夫问题答案。 则有 fn,k=fn1,k+k1modn+1。 证明:考虑第一个人出去后,问题变成 n1 个人,k 次一出的约瑟夫问题, 算出该问题的答案 fn1,k 后,原问题的答案即 阅读全文
posted @ 2023-06-17 18:48 Jijidawang 阅读(7) 评论(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 阅读(12) 评论(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 阅读(7) 评论(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 阅读(10) 评论(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 阅读(2) 评论(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 阅读(7) 评论(0) 推荐(0) 编辑
摘要:树上倍增+可并堆。 把原图的 MST 建出来,分别考虑非树边和树边的答案。 对于非树边 (u,v),其最大为 uv 路径最大值 1 时,可以替换掉这个最大值,加入 MST。 树上倍增维护路径最大值即可。 对于树边 (u,v),其最大为所有覆盖其的非树边的最小值 1阅读全文
posted @ 2023-06-15 10:36 Jijidawang 阅读(2) 评论(0) 推荐(0) 编辑
摘要:数据范围很小,考虑爆搜。 搜到位置 (x,y) 时统计 (x,y) 的贡献,即 x 行与 y 列的箭靶箭数减一。 容易发现,若此时 x 行或 y 列的箭靶箭数为 0,则不能走到 x,y,不需要往下搜。(可行性剪枝) 搜索时记录 zi 表示第 i 步的位置,搜 阅读全文
posted @ 2023-06-14 16:42 Jijidawang 阅读(14) 评论(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 阅读(4) 评论(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 阅读(5) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示