题意
题目大意是要让一连串连续的数字左右相邻两个两两不同,如果相同可以改高度,改的高度代价输入已知
解法
首先我们可以看到这应该就是一个DP,数据范围也不大不需要带优化(带优化的我现在也不会).我们观察发现一个点最多更改两次,然后我们进行转移即可也就是用当前的点推下一个点,如果当前的点更改0,1,2次和下一个点更改0,1,2次有不同的话那么取min转移.具体看代码吧
1 |
|
题目大意是要让一连串连续的数字左右相邻两个两两不同,如果相同可以改高度,改的高度代价输入已知
首先我们可以看到这应该就是一个DP,数据范围也不大不需要带优化(带优化的我现在也不会).我们观察发现一个点最多更改两次,然后我们进行转移即可也就是用当前的点推下一个点,如果当前的点更改0,1,2次和下一个点更改0,1,2次有不同的话那么取min转移.具体看代码吧
1 | #include <bits/stdc++.h> |
微信支付
支付宝
Baccano by baccano is licensed under a Creative Commons BY-NC-ND 4.0 International License.
由baccano创作并维护的Baccano博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于baccano 博客( http://baccano.fun ),版权所有,侵权必究。
可以使用鼠标点击琴键也可以使用主键盘1-7或者小键盘的1-7来操作