首页 > 其他分享 >AGC012E Camel and Oases

AGC012E Camel and Oases

时间:2023-06-28 19:46:02浏览次数:41  
标签:AGC012E 遍历 log Camel le Oases Theta

题意

有一个数轴上有 \(n\) 个点。一开始有一个参数 \(v\),你可以进行任意次移动,直到 \(v = 0\):

  • 移动到一个距离当前点不超过 \(v\) 的点,\(v\) 不变。
  • 移动到任何一个点,使得 \(v \gets \lfloor\dfrac{v}{2}\rfloor\)。

现在对于每个起点,问从这个点出发可不可以遍历所有位置。

\(1 \le n, v \le 2\times10^5, |x| \le 10^9\)。注意 \(v\) 的范围

题解

和 262144 Revisited 有相似的思路,下次再想不到就跑圈了。

首先转化问题。特定的 \(v\) 只有 \(\log v_0\) 种,对于每一种 \(v\)。假设一开始位置为 \(i\),则可以遍历一个包含位置 \(i\) 的连续段;且在每一层中,所有这些段拼起来刚好是全集。那么遍历所有点相当于在每一层找一个段,使得所有被选择的段并起来是全集。题目所问也就是钦定了第 \(0\) 层选择的段。

考虑状态压缩。设 \(f_S\) 表示用 \(S\) 里面的层能拼出最长的前缀,\(g_S\) 表示最长后缀,转移枚举最后/最前的段的层数即可。那么对于每个第 \(0\) 层的段,只需要 \(\Theta(v_0)\) 枚举左边的集合检查左右两边是否能覆盖到即可。由于第一层的段不能超过 \(\log_2 v_0\) 个(否则一定无解),所以复杂度是 \(\Theta(v_0\log v_0+n)\)。

标签:AGC012E,遍历,log,Camel,le,Oases,Theta
From: https://www.cnblogs.com/kyeecccccc/p/17512343.html

相关文章

  • 「解题报告」AGC012E Camel and Oases
    好久之前模拟赛就考过的题,今天才写)首先发现我们跳跃的次数只有\(\logV\)次,我们设跳了\(i\)次后的时刻为第\(i\)时刻,且最后一个时刻为\(t\)。发现每一时刻,我们能够到达的绿洲形成了若干个连续段。不难发现,当时刻\(0\)的时候连续段数量大于\(t+1\)时一定全部都无法到......
  • AutoGPT、AgentGPT、BabyAGI、HuggingGPT、CAMEL:各种基于GPT-4自治系统总结
    ChatGPT和LLM技术的出现使得这些最先进的语言模型席卷了世界,不仅是AI的开发人员,爱好者和一些组织也在研究探索集成和构建这些模型的创新方法。各种平台如雨后春笋般涌现,集成并促进新应用程序的开发。AutoGPT的火爆让我们看到越来越多的自主任务和代理利用了GPT-4的API。这些发展......
  • Camel详解
     ApacheCamel测试指南https://www.cnblogs.com/d1012181765/p/15338830.html Camel中的转换:如何进行https://www.cnblogs.com/d1012181765/p/15339030.html ......
  • Apache Camel Support
    Spring集成提供了一个API和配置,用于与在同一应用程序上下文中声明的 ApacheCamel 端点进行通信。您需要将此依赖项包含在项目中:<dependency><groupId>org.springf......
  • [Typescript] 99. Hard - CamelCase
    Implement CamelCase<T> whichconverts snake_case stringto camelCase.ForexampletypecamelCase1=CamelCase<'hello_world_with_types'>//expectedtobe......
  • 【ARC105C】Camels and Bridge 题解
    题意给定\(n\)只骆驼和每条骆驼的重量\(a_i\)。这些骆驼要通过一条路,这条路被分为\(m\)个部分,每个部分的长度为\(l_i\),限重为\(v_i\)。同时经过这部分的骆驼的重......