上一页 1 2 3 4 5 6 7 8 9 10 ··· 51 下一页
摘要: 考虑题目中的这个限制是有些困难的,但是细想,其实这个限制没有意义,要求的就是每个区间的最大可空前缀和加上最大可空子段和的和。 首先我们证明这东西是对的: 考虑反证。假如选的前缀是 [1,i][1,i][1,i],子段是 [l,r][l,r][l,r]。假如这一选择是最优的,且 i∈[l,r)i \i 阅读全文
posted @ 2024-02-05 19:48 HappyBobb 阅读(25) 评论(0) 推荐(0)
摘要: 事实上一个区间的答案就是区间和减去 ppp 乘以减去的次数。 于是问题难点在于如何求一个区间减去的次数。 注意到 n≤106n \leq 10^6n≤106,猜测这可能不是根号科技。考虑朴素线段树。容易观察到的一点是,对于每个区间,假设进去时的初始值为 xxx。然后依次加上区间每个数并取模的时候,x 阅读全文
posted @ 2024-02-04 22:32 HappyBobb 阅读(16) 评论(0) 推荐(0)
摘要: 事实上一个区间的答案就是区间和减去 ppp 乘以减去的次数。 于是问题难点在于如何求一个区间减去的次数。 注意到 n≤106n \leq 10^6n≤106,猜测这可能不是根号科技。考虑朴素线段树。容易观察到的一点是,对于每个区间,假设进去时的初始值为 xxx。然后依次加上区间每个数并取模的时候,x 阅读全文
posted @ 2024-02-04 22:31 HappyBobb 阅读(22) 评论(0) 推荐(0)
摘要: 不妨令 a≤b≤ca\leq b\leq ca≤b≤c。如果题目输入的不满足则可以交换。我们只考虑构造两个大小分别为 aaa 和 bbb 的连通块。其他点全都在 CCC 中。考虑如果选的大小不是 aaa 和 bbb 连通块,比如选的是 aaa 和 ccc,那么可以把 CCC 中某些点删掉并不影响连通 阅读全文
posted @ 2024-02-04 17:49 HappyBobb 阅读(37) 评论(0) 推荐(0)
摘要: 假如每次询问的点 xxx 是同一个点怎么做?我们考虑将这棵无根树看作以 xxx 为根的树,设根 xxx 的深度为 000,那么每个点到 uuu 的距离就是这个点的深度 depudep_udepu​。删掉一个点 yyy 本质上就是删掉以 yyy 为根的这棵子树,询问相当于问全局最大值。每个删除的点显然 阅读全文
posted @ 2024-02-02 20:08 HappyBobb 阅读(22) 评论(0) 推荐(0)
摘要: 注意到如果 lll 中最大的两个数之和 >d>d>d,显然无解。 比较容易想到的是,我们先构造一条边权和为 ddd 的链,然后考虑讲其他边全都连在一个点上,这样显然是优的。 考虑这个点两边边权到链顶点距离和分别为 x,yx,yx,y,那么考虑除链上的边权最大值 zzz,必然要满足 z≤xz \leq 阅读全文
posted @ 2024-01-30 22:10 HappyBobb 阅读(25) 评论(0) 推荐(0)
摘要: 挺典的题。 考虑添加一个海港的贡献。用 set 维护目前的全部海港,显然只有在这个点前驱后继这一段区间会被修改。 注意到修改总是区间加等差数列。询问是区间和。线段树维护差分即可。复杂度 O(nlog⁡n)O(n \log n)O(nlogn)。 #include <bits/stdc++.h> us 阅读全文
posted @ 2024-01-28 13:12 HappyBobb 阅读(20) 评论(0) 推荐(0)
摘要: 特判如果排列初始时是 1,2,⋯ ,n1,2,\cdots,n1,2,⋯,n,输出 n−2n-2n−2。 如果不是,那么我们交换两个后的结果一定大于等于初始值。 考虑新增的贡献是什么?假设交换 pi,pj(i<j)p_i,p_j(i < j)pi​,pj​(i<j),那么新增的贡献必然是一个 k∈[ 阅读全文
posted @ 2024-01-26 20:38 HappyBobb 阅读(31) 评论(0) 推荐(0)
摘要: 先考虑 nnn 比较小的时候怎么做。 非常显然地,按照线段树建树,枚举每个点作为 LCA 的答案。假设当前节点 uuu,对应区间 [l,r][l,r][l,r],区间长度 len=r−l+1len = r-l+1len=r−l+1,那么对答案的贡献为 u×(2⌈len2⌉−1)×(2⌊len2⌋−1 阅读全文
posted @ 2024-01-25 22:02 HappyBobb 阅读(21) 评论(0) 推荐(0)
摘要: 有一种比较暴力,不需要组合数的 DP。 先考虑在 G1 的限制(即 n≤100n\leq 100n≤100)下怎么做。 有一个比较显然的 DP,fi,j,kf_{i,j,k}fi,j,k​ 表示前 iii 个,长度为 jjj,最后一个的颜色为 kkk。转移时可以朴素地 O(1)O(1)O(1) 转移 阅读全文
posted @ 2024-01-24 17:47 HappyBobb 阅读(25) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 51 下一页