题解 - P 1392 D \mathrm{P1392D} P1392D
题目描述
S o l \mathrm{Sol} Sol
好像大家都是找规律做法,我提供一种 dp 的做法
设 f i , j , k f_{i,j,k} fi,j,k 表示到第 i i i 个人攻击方向为 j ∈ [ 0 , 1 ] j∈[0,1] j∈[0,1] 当前受到 k ∈ [ 0 , 1 , 2 ] k∈[0,1,2] k∈[0,1,2] 个人攻击的最少修改次数。
我们每次枚举上一个人的攻击方向 l j lj lj 以及受到攻击次数 l k lk lk 进行转移。分 4 4 4 种情况进行讨论:
-
i i i 和 i − 1 i-1 i−1 攻击方向相同且攻击左边,那么此时转移的条件为 l k = 2 lk=2 lk=2 因为只有受到两个人的攻击才能往任意方向进攻,此时 i i i 可能受到 0 ∼ 1 0\sim 1 0∼1 个攻击来自 i + 1 i+1 i+1。所以转移为 f i , 0 , 0 / 1 = min ( f i − 1 , l