题解 CF963E Circles of Waiting

fi,j 表示 (i,j) 走出以 (0,0) 为圆心,半径为 R 的期望步数,显然所有在圆外的点 (i,j) 满足 fi,j=0

fi,j=p1fi1,j+p2fi,j1+p3fi+1,j+p4fi,j+1

这东西很套路,高斯消元就行,但状态数是 O(R2) 的,复杂度 O(R6)

考虑主元法,只用 O(R) 个参数表示 O(R2) 个点,尝试将每行最左边的 2R+1 个数拉出来当主元。

因为

fi,j=p1fi1,j+p2fi,j1+p3fi+1,j+p4fi,j+1

所以有

fi+1,j=fi,jp1fi1,jp2fi,j1p4fi,j+1p3

fi,j=fi1,jp1fi2,jp2fi1,j1p4fi1,j+1p3

从左往右推即可。

对于每行右边第一个走出圆的点,利用其 f 值为 0,共可列出 2R+1 个方程,现在再去高斯消元就是 O(R3) 的。

posted @   Terac  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示