CSP-S 模拟赛 29
CSP-S 模拟赛 29
T1
显然是状压 dp。- 考虑设状态
表示状态为 ,最终的 为 时的最大代价及方案数。转移是简单的。 - 优化是观察到最终的
。那么这一维便可以用 来设。 于是时间复杂度 .
T2
-
对于网格图上统计问题,常见的想法是扫描线或者四个方向前缀和。
-
simple 的想法是从每个点向四个方向做前缀积,暴力乘上逆元来统计答案。然而我们发现
不一定是质数,也就是说逆元不一定存在。 -
考虑到只有
个卫星,那么容易想到离散化。于是我们离散化每一个卫星,维护到四个方向的前缀和,于是我们发现这样的维护是不需要逆元的,并且事实上被分割成了一个个的矩形。 -
那么对于询问的每一个点,我们暴力计算它到所在矩形端点的距离计入答案即可。
T3
的暴力 Hash 是显然的。- 考虑优化。考虑对于两个串
,长度分别为 ,那么 Hash 比对的时间为 。 - 得到部分分的启示,我们考虑预处理一部分东西。那么这个东西就很像根号分治。
- 具体地,对于
,我们预处理所有这样的二元字符串组 ,那么这样的字符串组会有 个,复杂度最劣显然是长度全取到 ,复杂度为 ,对于 ,直接暴力比对,复杂度 ,于是总复杂度 ,能过。
T4
- 抽象。
- 考虑转化所求答案:求出对于一个节点
,能够连到的离他最近的点编号与他的差。如果这个值是 ,那么表明连边是以 为周期进行的,于是答案就是 。 - 我们猜想在一定情况下
。显然只有当每个点 或 时成立。 - 对于
,无论 在何处均有对应的 。于是对于 ,当前答案 。 - 对于全部
的情况,这些节点不会被任何点连到,于是考虑删去他们,同时改变 和 的取值。 - 对于
的,它仍然可以扩展到,因此新的 。 - 对于
的,能跳的显然是前面的前 和后 个点,更新 和 ,并递归。 - 时间复杂度
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现