Codeforces Round 911 (Div. 2)
A - Cover in Water
三个连续的 .
就可以造出无限水,这时直接输出
B - Laura and Operations
每次操作不会改变不需要的两个数的个数的和的奇偶性,而当这个和为偶数的时候,通过若干操作一定可以全部变成另一个。
C - Anji's Binary Tree
设
D - Small GCD
先把
注意到
E - Transitive Graph
于是
于是把
DAG 不需要建出来,因为 Tarjan 算法得到 SCC 的顺序是逆拓扑序。
F - Local Deletions
先考虑对全局的询问(
现在考虑
对于第一层,发现如果一个位置
于是除了两边的两个点,中间的位置在操作后对应的新序列对应对全局操作后对应的新序列上的一段区间,容易二分找出下一层中新区间的端点。
对于两边的点,则视作在一个区间的左右各添加一个数,根据第一段的分析,添加的数和区间的端点至多保留其一。于是每次操作都默认区间左右端点收缩一位,并更新左右添加的数,这样就得到了一个子问题,可以递归处理。
但是当区间长度小于
注意特判:如果添加的数和端点都不会保留,则将添加的数更新为下一层中对应新区间的对应端点,如果新区间为空,则可以直接在添加的两个数中取出答案。
本文作者:xzm111
本文链接:https://www.cnblogs.com/xzmxzm/p/cf1900.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步