activeO
照彻万川

导航

 

2024年8月13日

摘要: 题源 发现 \(v\) 范围很小,有一个基于 \(v\) 的策略就是从 \(1\) 开始往上能合并就合并,这样一定不劣。 于是考虑将序列划分为若干个值相等的段,形如 \((num_{x},x)\),对于一个区间的段,如果有一段比两边相邻的段的数都要小,此时这个段的长度显然不会增加,所以可以直接合并, 阅读全文
posted @ 2024-08-13 20:36 activeO 阅读(1) 评论(0) 推荐(0) 编辑
 

2024年5月1日

摘要: 题面 首先显然我们可以把序列变成几段连续段,如果连续段中有一个数不一样,显然不满足了。 现在就要求使得这几个连续段都独立不能连成一个大段地方案数,考虑容斥。 考虑进行连续段 \(dp\),套路的,我们只要确认一个段最小的数是什么就可以知道整个段的值域,所以我们只需要确定连续段之间的大小关系就可以确定 阅读全文
posted @ 2024-05-01 21:32 activeO 阅读(3) 评论(0) 推荐(0) 编辑
 

2024年4月2日

摘要: 题面 首先先可以发现对于限制 \(\min_{i \in [l,r]} a_i \leq r-l+1\),的任意一个右端点,能贡献的 \(l\) 肯定是一个可以确定的前缀,这一部分可以用单调队列提前预处理出每个前缀记为 \(pre_i\)。同理对于任意一个左端点也对应可以转移到一个确定的后缀,也预处 阅读全文
posted @ 2024-04-02 16:52 activeO 阅读(5) 评论(0) 推荐(0) 编辑
 

2024年3月29日

摘要: 删除背包,非常的牛。 先转化一下题意,要求深度的和,转化为每种方案这个点祖先的个数加 \(1\),就是对于每一组 \((j,i)\) 求 \(j\) 是 \(i\) 的祖先的方案数最后再加一个总方案数。 朴素的就是枚举每个数对 \((i,j)\),使得 \(i\) 为 \(j\) 祖先就要求 \(a 阅读全文
posted @ 2024-03-29 21:53 activeO 阅读(11) 评论(0) 推荐(0) 编辑
 

2024年3月19日

摘要: CF1025G 这题真是太牛啦。 考虑定义一个局面的势能函数 \(F(s)\),满足对于 \(F(s)+1=\frac{\sum_{T}f(t)}{num_t}\),就是能转移到的状态的期望势能是 \(F(s)+1\),这样答案期望就是 \(F(end)-F(start)\)。 设 \(F(s) = 阅读全文
posted @ 2024-03-19 17:20 activeO 阅读(7) 评论(0) 推荐(0) 编辑
 

2024年3月16日

摘要: 早上打的一场模拟赛,场上没想出来,下来看题解感觉还挺板的? 操作比较复杂,考虑线段树,把 \(n\) 变为 \(2^k\),这样就可以和树状数组操作的区间 \([i-lowbit(i)+1,i]\) 一一对应,因为此时线段树的每一层的每一段区间都一定是 \(2\) 的整数倍。 维护两个标记一个是区间 阅读全文
posted @ 2024-03-16 16:46 activeO 阅读(3) 评论(0) 推荐(0) 编辑