随笔分类 -  题解

摘要:分析 乱搞题。 右移若干次很显然可以破环成链,然后 l,r 指针在这个长度为 2n 的序列上右移。每种状态的答案就是 [l,r] 的答案。 考虑相邻两种状态的变化量。设上一次 l 指向的值为 pl,则到当前状态的变化量就是:\(-\operatorn 阅读全文
posted @ 2024-03-07 13:36 harmis_yz 阅读(15) 评论(0) 推荐(0) 编辑
摘要:分析 一道差分约束题。 我们令 sumi 表示 1i 中,1 的数量,根据题意可得: sumli1+xisumri \(\mathit{sum}_{l+1} +(- 阅读全文
posted @ 2024-03-07 13:28 harmis_yz 阅读(11) 评论(0) 推荐(0) 编辑
摘要:分析 数位 DP 一眼题。 对于一个 k 位的数 s,我们不妨将其看做由数字 s1,s2,s3,,skk 个数字拼接起来的。而题意是每个人可以将 s1,s2,s3,,sk 中的任意一个减去任意数字,保证不减去 \(0\ 阅读全文
posted @ 2024-03-07 13:23 harmis_yz 阅读(5) 评论(0) 推荐(0) 编辑
摘要:分析 通过题目我们可以发现,题目里唯一难受的限制就是最长增长部分的长度。我们不妨试试将其放进状态函数里。根据 LIS 的性质,若一个长度为 3 的子序列 a1,a2,a3 满足 LIS,则必有 a1<a2<a3。我们定义 \(\mathit{f}_{i,x,y, 阅读全文
posted @ 2024-03-07 13:23 harmis_yz 阅读(10) 评论(0) 推荐(0) 编辑
摘要:分析 一眼莫队(虽然通过这题的范围显然看出出题人用的不是莫队)。 我们定义 cnti 表示数字 i 出现的次数。在指针的拓展增加 x 时,若有 cntx+1=1,则表示在在这个区间里,x 是第一次出现的,我们可以 阅读全文
posted @ 2024-03-07 13:22 harmis_yz 阅读(6) 评论(0) 推荐(0) 编辑
摘要:感谢 @Celestial Cyan 大神对我的骚扰帮助。 分析 一眼 DP。 对于求最大满足条件区间数,我们定义状态函数 fi 表示在第 1i 个区间中选择,且必选第 i 个区间能够 阅读全文
posted @ 2024-03-07 13:21 harmis_yz 阅读(10) 评论(0) 推荐(0) 编辑
摘要:分析 用势能线段树。 对于一段数字 alar,每次全部除以一个大于 1 的数,不难发现最多除以 logx 次就会使 alar 全部变成 0,其中 x 是区间最大值。 所以,在没有操作 2 的情况下,我们可 阅读全文
posted @ 2024-03-07 13:20 harmis_yz 阅读(7) 评论(0) 推荐(0) 编辑
摘要:分析 思路不难想,我们对于第 i 个计划的时间,可以分成 lr+1 两部分。用权值线段树维护,在第 l 天的时候就将该计划的内容加入权值线段树中,直到过了该计划的时间,也就是第 r+1 天,再将这个计划的内容删除。把每一天需要修改的内容存进 vector 阅读全文
posted @ 2024-03-07 13:19 harmis_yz 阅读(8) 评论(0) 推荐(0) 编辑
摘要:分析 两眼线段树题。 对于从第 l 列走到第 r 列,我们的出发、到达情况共有 4 种,分别是: l 列第 1 行到 r 列第 1 行。 l 列第 1 行到 r 列第 2 行。 l 列第 2 行到 阅读全文
posted @ 2024-03-07 13:18 harmis_yz 阅读(6) 评论(0) 推荐(0) 编辑
摘要:分析 分块。 我们定义 cnti 表示房子 i 是否出现过,sumi 表示在第 i 个块内没有被摧毁的房子数量,维护的房子是 (i1)×S1i×S,其中 \(S=\sqrt{n 阅读全文
posted @ 2024-03-07 13:18 harmis_yz 阅读(12) 评论(0) 推荐(0) 编辑
摘要:分析 对于这道题,首先暴力找出任意两座城市之间的最短路,跑 n 次 BFS 就行。这里 BFS 的时候可以直接求第 i 座城市的坐标 (xi,yi) 到所有图上坐标的最短路,最后第 i 座城市到第 j 组城市的最短路就是 (xi,yi) 到 \ 阅读全文
posted @ 2024-03-07 13:16 harmis_yz 阅读(18) 评论(0) 推荐(0) 编辑
摘要:分析 按照 k 的奇偶分开考虑。 k 为奇数。一个好的节点有且仅有一个在任意两个有人的节点 i,j 的路径的交点上的最优位置。若该交点偏移 1 步,则必然会使路径长度和 +1。故期望为 1k 为偶数。任意一个好的节点仍然在任意两个有人的节点 阅读全文
posted @ 2024-03-07 13:15 harmis_yz 阅读(6) 评论(0) 推荐(0) 编辑
摘要:分析 线段树模板题。 维护一个区间 [l,r]i=lr10ni 的答案。将某个区间 [l,r] 全部修改成 x 之后的表示的数就是 x×(i=lr10ni)。区间 阅读全文
posted @ 2024-03-07 13:14 harmis_yz 阅读(11) 评论(0) 推荐(0) 编辑
摘要:分析 线段树模板题。 一眼 DP。定义状态函数 fi 表示前 i 个数中,必选 AiB 的最大长度。则有转移方程:\(\mathit{f}_i=\max\{f_j |((1\le j \le i-1 )\land (-k 阅读全文
posted @ 2024-03-07 13:13 harmis_yz 阅读(7) 评论(0) 推荐(0) 编辑
摘要:分析 乱搞题。 优先考虑 DP。定义状态函数 fi 表示在以 1 为根时,i 为根的子树中颜色是否相同。如果对于 1 的每一个儿子 j,都有 fj=1,则输出 1 就行。 考虑换根的情况。在以 \(i 阅读全文
posted @ 2024-03-07 13:12 harmis_yz 阅读(18) 评论(0) 推荐(0) 编辑
摘要:分析 一眼 DP。 定义状态函数 fi,j 表示后 i 位中,删掉或不删掉第 i 个数时,使后 i 个数满足条件的最小步数。 如果删掉第 i 个数,有转移方程:\(\mathit{f}_{i,1}=\min(\mathit{f}_{i+ 阅读全文
posted @ 2024-03-07 13:11 harmis_yz 阅读(29) 评论(0) 推荐(0) 编辑
摘要:分析 因为 a 是一直没有改变的,移动的只有 b,所以从 a 的每一位的贡献入手。 对于 a 中的从低到高第 i 位,其对应的十进制值是 ani+1×2i1。注意到 b 是每次右移一位的,所以在 b 中能与 阅读全文
posted @ 2024-03-07 13:10 harmis_yz 阅读(6) 评论(0) 推荐(0) 编辑
摘要:分析 对于一个从小到大(按编号排序)的长度为 n 的序列 A,有性质:相邻两个数之差的绝对值为 1 的数量为 n1。 那么,对于这道题,能使环剪开一条边使其按编号排序,必有相邻两个 i,j,满足 (AiAj=1) 的数量为 n1。注意 阅读全文
posted @ 2024-03-07 13:09 harmis_yz 阅读(5) 评论(0) 推荐(0) 编辑
摘要:分析 乱搞题。 考虑将区间 [l,r] 中所有人干掉的代价。设 cnti=maxj=lraj,i,则代价为:i=1mcnti。很显然,只有在 \(\sum\limits_{i=1}^{m}cnt_i 阅读全文
posted @ 2024-03-07 13:09 harmis_yz 阅读(5) 评论(0) 推荐(0) 编辑
摘要:分析 接着这个说。 现在我们需要优化 nxti。重新定义一下,nxti,j 表示在后 i 个数中,j 第一次出现的位置,且 [i+1,nxti+1,ai1] 是一个合法串。这玩意很像一 阅读全文
posted @ 2024-03-07 13:08 harmis_yz 阅读(8) 评论(0) 推荐(0) 编辑

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